Example #1
0
 /**
  * Handle image manipulation.
  *
  * @param  \Imagine\Image\ImageInterface  $image
  * @param  array  $data
  *
  * @return \Imagine\Image\ImageInterface
  */
 protected function handleImageManipulation(ImageInterface $image, array $data)
 {
     $width = $data['width'];
     $height = $data['height'];
     if (isset($data['dimension'])) {
         $width = $height = $data['dimension'];
     }
     return $image->resize(new Box($width, $height), $data['filter']);
 }
Example #2
0
 /**
  * Set article rendition
  *
  * @param int $articleNumber
  * @param Newscoop\Image\Rendition $rendition
  * @param Newscoop\Image\ImageInterface $image
  * @param string $imageSpecs
  * @return Newscoop\Image\ArticleRendition
  */
 public function setArticleRendition($articleNumber, Rendition $rendition, ImageInterface $image, $imageSpecs = null)
 {
     if ($image->getWidth() < $rendition->getWidth() || $image->getHeight() < $rendition->getHeight()) {
         throw new \InvalidArgumentException("Image too small.");
     }
     $old = $this->getArticleRendition($articleNumber, $rendition);
     if ($old !== null) {
         $this->orm->remove($old);
         $this->orm->flush();
     }
     $articleRendition = new ArticleRendition($articleNumber, $rendition, $image, $imageSpecs);
     $this->orm->persist($articleRendition);
     $this->orm->flush($articleRendition);
     return $articleRendition;
 }
 /**
  * @param \Imagick $imagick
  * @return ImageInterface
  */
 public function ImagickToImage(\Imagick $imagick, ImageInterface $oldImage, $newPath, $newName, $newImageSize)
 {
     $image = new Image();
     $image->setSize(new Size($imagick->getImageWidth(), $imagick->getImageHeight()));
     $image->setName($newName);
     $image->setPath($newPath);
     $image->setExtension($oldImage->getExtension());
     $image->setNameKey($oldImage->getNameKey());
     $image->setOriginalName($oldImage->getOriginalName());
     $image->setType($oldImage->getType());
     $image->setImageSize($newImageSize);
     return $image;
 }
Example #4
0
 /**
  * 图像添加文字
  * @param  string  $text   添加的文字
  * @param  string  $font   字体路径
  * @param  integer $size   字号
  * @param  string  $color  文字颜色
  * @param  integer $locate 文字写入位置
  * @param  integer $offset 文字相对当前位置的偏移量
  * @param  integer $angle  文字倾斜角度
  * @return Image          当前图片处理库对象
  */
 public function text($text, $font, $size, $color = '#00000000', $locate = self::IMAGE_WATER_SOUTHEAST, $offset = 0, $angle = 0)
 {
     $this->img->text($text, $font, $size, $color, $locate, $offset, $angle);
     return $this;
 }