This extension allows to resize images and automatically cache them.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist alex-bond/yii2-thumbler
or add
"alex-bond/yii2-thumbler": "*"
to the require section of your composer.json.
To use this extension, you need add the following code in your application configuration:
return [
//....
'components' => [
'thumbler'=> [
'class' => 'alexBond\thumbler\Thumbler',
'sourcePath' => '/path/to/source/files',
'thumbsPath' => '/path/to/resize/cache',
],
],
];
After this just call resize()
method like this:
$path = \Yii::$app->thumbler->resize('image.png',500,500);
As result of this call extension will return path to resized image relative to $thumbsPath
.
resize($image, $width, $height, $method = Thumbler::METHOD_NOT_BOXED, $backgroundColor = 'ffffff', $callExceptionOnError = true)
Parameter | Description | Possible Values |
---|---|---|
$image | Path to image based relative to $sourcePath | String |
$width | Width of needed image in pixels | int |
$height | Height of needed image in pixels | int |
$method | Resize algorithm | Thumbler::METHOD_BOXED; Thumbler::METHOD_NOT_BOXED; Thumbler::METHOD_CROP_TOP_LEFT; Thumbler::METHOD_CROP_TOP_CENTER; Thumbler::METHOD_CROP_TOP_RIGHT; Thumbler::METHOD_CROP_MIDDLE_LEFT; Thumbler::METHOD_CROP_CENTER; Thumbler::METHOD_CROP_MIDDLE_RIGHT; Thumbler::METHOD_CROP_BOTTOM_LEFT; Thumbler::METHOD_CROP_BOTTOM_CENTER; Thumbler::METHOD_CROP_BOTTOM_RIGHT; |
$backgroundColor | Background color for `Thumbler::METHOD_BOXED` algorithm | String (HEX color) |
$callExceptionOnError | When `true` extension will caught exception on error. If `false` extension will just add error in internal array which can be called by `getLastError()` | boolean |
getLastError()
Returns last error description.
clearImageCache($image)
Clears all cache for selected image file.
clearAllCache()
Clears all cache.