/** * 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; }
/** * @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); }
/** * @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; }