sadovojav / yii2-image-thumbnail
Yii2 image thumbnail component
Installs: 39 035
Dependents: 3
Suggesters: 0
Security: 0
Stars: 21
Watchers: 6
Forks: 12
Type:yii2-extension
pkg:composer/sadovojav/yii2-image-thumbnail
Requires
- php: >=5.4.0
- kinglozzer/tinypng: 0.1.*
- yiisoft/yii2: *
- yiisoft/yii2-imagine: *
This package is auto-updated.
Last update: 2025-10-09 02:21:09 UTC
README
Create image thumbnails use Imagine. Thumbnail created and cached automatically. It allows you to create placeholder with service https://placeholder.com/, holder.js or Imagine
Features:
- Easy to use
- Use Imagine
- TinyPng compression
- Automaticly thumbnails caching
- Cache sorting to subdirectories
- Caching placeholder from URL (placeholdit.imgix.net)
- Use placeholdit.imgix.net
Installation
Composer
The preferred way to install this extension is through Composer.
Either run php composer.phar require sadovojav/yii2-image-thumbnail "dev-master"
or add "sadovojav/yii2-image-thumbnail": "dev-master" to the require section of your composer.json
Config
Attach the component in your config file:
'components' => [ 'thumbnail' => [ 'class' => 'sadovojav\image\Thumbnail', ], ],
Parameters
- string
basePath=null- Base path - string
prefixPath=null- Prefix path - string
cachePath=@runtime/thumbnails- Cache path alias - integer
cacheExpire=604800- Cache expire time - array
options- Other options (placeholder/quality/additional compression)
Default options:
'options' => [ 'placeholder' => [ 'type' => sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL, 'backgroundColor' => '#f5f5f5', 'textColor' => '#cdcdcd', 'textSize' => 30, 'text' => 'No image' ], 'quality' => 92, 'format' => null, //webp, jpg, png 'tinyPng' => [ 'apiKey' => null ] ]
Note
textSize - does't support on PLACEHOLDER_TYPE_URL
Placeholder type
-
- sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL - get placeholder by url
-
- sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_IMAGINE - create placeholder used Imagine
Using
Get cache image
echo Yii::$app->thumbnail->img($file, $params, $options);
This method returns Html::img()
Parameters
- string
$filerequired - Image file path - array
$paramsrequired - Image manipulation methods. See Methods - array
$options- options for Html::img()
For example:
<?= Yii::$app->thumbnail->img(IMAGE_SRC, [ 'thumbnail' => [ 'width' => 320, 'height' => 230, ], 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>
Get cache image url
echo Yii::$app->thumbnail->url($file, $params);
This method returns cache image url
Parameters
- string
$filerequired - Image file path - array
$params- Image manipulation methods. See Methods
For example:
<?= Yii::$app->thumbnail->url(IMAGE_SRC, [ 'thumbnail' => [ 'width' => 320, 'height' => 230, ], 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>
Get placeholder image
echo Yii::$app->thumbnail->img($file, $params, $options);
This method returns Html::img()
Parameters
- string
$filerequired - must to beNull - array
$paramsrequired - Image manipulation methods. See Methods - array
$options- options for Html::img()
For example:
<?= Yii::$app->thumbnail->img(null, [ 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>
Get placeholder url
echo Yii::$app->thumbnail->url($file, $params, $options);
This method returns path to placeholder image
Parameters
- string
$filerequired - must to beNull - array
$paramsrequired - Image manipulation methods. See Methods - array
$options- options for Html::img()
For example:
<?= Yii::$app->thumbnail->url(null, [ 'placeholder' => [ 'width' => 320, 'height' => 230 ] ]); ?>
Method
Resize
'resize' => [ 'width' => 320, 'height' => 200 ]
Parameters
- integer
widthrequired - New width - integer
heightrequired - New height
Crop
'crop' => [ 'width' => 250, 'height' => 200, ]
Parameters
- integer
widthrequired - New width - integer
heightrequired - New height - integer
x=0- X start crop position - integer
y=0- Y start crop position
Thumbnail
'thumbnail' => [ 'width' => 450, 'height' => 250, ]
Parameters
- integer
widthrequired - New width - integer
heightrequired - New height - string
mode=THUMBNAIL_OUTBOUND- Thumbnail modeTHUMBNAIL_OUTBOUNDorTHUMBNAIL_INSET
Placeholder
'placeholder' => [ 'width' => 450, 'height' => 250, ]
This method return image placeholder if image file doesn't exist.
Parameters
- integer
widthrequired - Placeholder image width - integer
heightrequired - Placeholder image height - string
backgroundColor=#f5f5f5- Background color - string
textColor=#cdcdcd- Text color - string
text=No image- Text
Watermark
'watermark' => [ 'image' => IMAGE_SRC 'posX' => 0, 'posY' => 0, 'width' => 50, 'height' => 50 ]
Parameters
- string
imagerequired - watermark path - integer
posXrequired - X/-X watermark position - integer
posYrequired - Y/-Y watermark position - integer
width- Watermark width - integer
height- Watermark height - string
mode=THUMBNAIL_OUTBOUND- Thumbnail modeTHUMBNAIL_OUTBOUNDorTHUMBNAIL_INSET
Compression (TinyPng)
'compress' => true