mervick / yii2-image
Yii2 图像处理扩展。
v1.0.2
2015-06-24 16:05 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 17:16:18 UTC
README
Yii2 框架图像处理扩展。
从 yurkinx/yii2-image 分支而来
安装
添加到你的 composer.json 文件
"require": { "mervick/yii2-image": "~1.0" }
之后执行 php composer.phar update
使用方法
简单
$driver = \mervick\image\drivers\GD::classname(); // or `\mervick\image\drivers\Imagick::classname()` /* @var $image \mervick\image\Image */ $image = \mervick\image\Image::load('@path/to/file', $driver); $image->resize($width, $height, 'crop'); $image->save(); // or $image->save('@path/to/file2.png', $quality);
使用组件
在 main.php
中配置
'components' => [ 'image' => [ 'class' => 'mervick\\image\\Component', 'driver' => 'mervick\\image\\drivers\\Imagick', ], ],
使用
/* @var $image \mervick\image\Image */ $image = Yii::$app->image->load('@path/to/file'); $image->flip('vertical')->save('@path/to/file2.jpeg', $quality);
API
/** * Resize the image to the given size. * @param integer $width New width * @param integer $height New height * @param string $master [optional] Master dimension. Default is 'auto' * @return Image */ public function resize($width, $height, $master = Image::AUTO); /** * Rotate the image. * @param integer $degrees * @return Image */ public function rotate($degrees); /** * Flip the image along the horizontal or vertical axis. * @param string $direction May be Image::HORIZONTAL, Image::VERTICAL * @return Image */ public function flip($direction); /** * Crop the image. * @param integer $width * @param integer $height * @param integer|null $offset_x * @param integer|null $offset_y * @return Image */ public function crop($width, $height, $offset_x = null, $offset_y = null); /** * Sharpen the image. * @param integer $amount * @return Image */ public function sharpen($amount); /** * Add a reflection to the image. * @param integer $height reflection height * @param integer $opacity reflection opacity: 0-100 * @param boolean $fade_in true to fade in, false to fade out * @return Image */ public function reflection($height = null, $opacity = 100, $fade_in = false); /** * Add a watermark to the image with a specified opacity. * @param Image $watermark * @param integer $offset_x Offset from the left * @param integer $offset_y Offset from the top * @param integer $opacity Opacity of watermark: 1-100 * @return Image */ public function watermark(Image $watermark, $offset_x = null, $offset_y = null, $opacity = 100); /** * Fill the background color of the image. * @param string $color Hexadecimal color * @param integer $opacity Background opacity: 0-100 * @return Image */ public function background($color, $opacity = 100); /** * Save the image. If the filename is omitted, the original image will * be overwritten. * @param string|null $filename Image file name * @param integer|null $quality Quality 1-100 for JPEG, 0-9 for PNG * @return boolean * @throws \ErrorException */ public function save($filename = null, $quality = null); /** * Render the image. * @param string|null $type * @param integer|null $quality * @return string binary string */ public function render($type = null, $quality = null);
图像常量
// resize contants const WIDTH = 'width'; const HEIGHT = 'height'; const AUTO = 'auto'; const INVERSE = 'inverse'; const PRECISE = 'precise'; const ADAPT = 'adapt'; const CROP = 'crop'; // Flipping constants const HORIZONTAL = 'horizontal'; const VERTICAL = 'vertical';