kashifanwar47 / yii2-image
Yii2 extension for image manipulating.
Package info
github.com/kashifanwar47/yii2-image
Type:yii2-extension
pkg:composer/kashifanwar47/yii2-image
v2.0.1
2019-08-31 23:40 UTC
Requires
- php: >=7.2.0
- yiisoft/yii2: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-11-03 09:25:48 UTC
README
Yii2 Framework Extension for Image Manipulation.
Forked from yurkinx/yii2-image
Installation
Add to your composer.json:
"require":
{
"kashifanwar47/yii2-image": "~2.0"
}
after that exec php composer.phar update or composer update
Usage
Simple
$driver = \kashifanwar47\image\drivers\GD::classname(); // or `\kashifanwar47\image\drivers\Imagick::classname()`
/* @var $image \kashifanwar47\image\Image */
$image = \kashifanwar47\image\Image::load('@path/to/file', $driver);
$image->resize($width, $height, 'crop');
$image->save();
// or $image->save('@path/to/file2.png', $quality);
Using component
configure in main.php:
'components' => [
'image' => [
'class' => 'kashifanwar47\\image\\Component',
'driver' => 'kashifanwar47\\image\\drivers\\Imagick',
],
],
usage
/* @var $image \kashifanwar47\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);
Image constants
// 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';