yiicod / yii2-easyimage
Yii 2 Framework extension for easy creating and caching thumbnails in real time.
Installs: 1 557
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- imagine/imagine: ~0.6.0
- yiisoft/yii2: 2.*
Requires (Dev)
This package is auto-updated.
Last update: 2024-10-27 00:38:23 UTC
README
You don't need to create many types of thumbnails for images in your project.
You can create a thumbnail directly in the View
. Thumbnail will automatically cached. It's easy!
Features:
- Easy to use
- Support
Imagick
,Gmagick
andGD2
- Automatically images caching
- Cache sorting to subdirectories
Installing and configuring
Add the following to your config file components
section:
'easyimage' => [ 'class' => 'yiicod\easyimage\EasyImage', 'webrootAlias' => '@frontend/web', 'cachePath' => '/uploads/easyimage/', 'imageOptions' => [ 'quality' => 100 ], ],
Parameters
- string
webrootAlias
webroot folder path - string
cachePath
cache directory path in webroot folder - array
imageOptions
array with default output image options which will used by Imagine to save image
Usage
Yii::$app->easyimage->getUrl($file, $params, $absolute); //Get cached image url Yii::$app->easyimage->getPath($file, $params); //Get cached image path Note: you can get access to the component using static method EasyImage::getInstance()
Parameters
- string
$file
required - Image file path - array
$params
image tools params Default: [] - mixed
$absolute
get absolute (true) url or not (false). Will use in Url::to() helper method
Available tools and parameters
'crop' => [ 'width' => 200, //Required 'height' => 200, //Required 'offset_x' => 100, 'offset_y' => 100, ], 'flip' => [ 'axis' => 'vertical', //Required available 'vertical' or 'horizontal' ], 'resize' => [ 'width' => 200, //Required 'height' => 200, //Required ], 'scale' => [ 'width' => 200, //Required 'height' => 200, //Required ], 'rotate' => [ 'angle' => 45 //Required ], 'thumbnail' => [ 'width' => 100, //Required one of dimensions 'height' => 100, //Required one of dimensions ], 'watermark' => [ 'image' => $file, //Required 'offset_x' => 100, 'offset_y' => 100, ], 'background' => [ 'color' => '#000', //Required 'alpha' => 0 //Background color's alpha ],
Tools
You can add additional tools in config:
'easyimage' => [ 'class' => 'yiicod\easyimage\EasyImage', 'webrootAlias' => '@frontend/web', 'cachePath' => '/uploads/easyimage/', 'tools' => [ 'crop' => Crop::class, ], ],
- 'crop' - tool name which will use in getUrl() or getPath() params
- Crop::class - tool class name which must implement yiicod\easyimage\base\ToolInterface