示例#1
0
 /**
  * Resize image
  *
  * @param string $value
  * @return string
  */
 public function filter($value)
 {
     if (!file_exists($value)) {
         return $value;
     }
     $image = Core_Image::factory($value);
     $image->resizeWithBackground($this->_options['width'], $this->_options['height'])->save();
     return $value;
 }
示例#2
0
 /**
  * @param $source_file
  * @param $destination_file
  * @param $type
  * @param $x
  * @param $y
  * @return string
  */
 public static function resize($source_file, $destination_file, $type, $x, $y)
 {
     if (!is_file($source_file)) {
         return '$source_file: "' . $source_file . '" is missing';
     }
     $img = new Core_Image($source_file);
     if ($type === self::TYPE_MAX) {
         $img->cMax($x, $y);
     } elseif ($type === self::TYPE_MIN) {
         $img->cMin($x, $y);
     } elseif ($type === self::TYPE_PROPORTIONAL) {
         $img->cProportional($x, $y, true);
     } elseif ($type === self::TYPE_CROP) {
         $img->cCrop($x, $y);
     }
     return $img->generate('jpg', $destination_file);
 }
示例#3
0
 /**
  * @param $watermarkFileName
  * @param float $rate
  * @return Core_Image_Adapter_Abstract
  */
 public function addWatermark($watermarkFileName, $rate = 0.05)
 {
     $watermark = Core_Image::factory($watermarkFileName);
     $watermark->resize($this->width * $rate, $this->height * $rate, true, 100);
     $startX = $this->width - 5 - $watermark->width;
     $startY = $this->height - 5 - $watermark->height;
     imagecopy($this->_image, $watermark->resourse, $startX, $startY, 0, 0, $watermark->width, $watermark->height);
     return $this;
 }