sadovojav / yii2-image-thumbnail
Yii2 image thumbnail component
Installs: 33 469
Dependents: 3
Suggesters: 0
Security: 0
Stars: 21
Watchers: 7
Forks: 12
Open Issues: 4
Type:yii2-extension
Requires
- php: >=5.4.0
- kinglozzer/tinypng: 0.1.*
- yiisoft/yii2: *
- yiisoft/yii2-imagine: *
This package is auto-updated.
Last update: 2024-12-09 00:37:30 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
$file
required - Image file path - array
$params
required - 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
$file
required - 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
$file
required - must to beNull
- array
$params
required - 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
$file
required - must to beNull
- array
$params
required - 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
width
required - New width - integer
height
required - New height
Crop
'crop' => [ 'width' => 250, 'height' => 200, ]
Parameters
- integer
width
required - New width - integer
height
required - New height - integer
x
=0
- X start crop position - integer
y
=0
- Y start crop position
Thumbnail
'thumbnail' => [ 'width' => 450, 'height' => 250, ]
Parameters
- integer
width
required - New width - integer
height
required - New height - string
mode
=THUMBNAIL_OUTBOUND
- Thumbnail modeTHUMBNAIL_OUTBOUND
orTHUMBNAIL_INSET
Placeholder
'placeholder' => [ 'width' => 450, 'height' => 250, ]
This method return image placeholder if image file doesn't exist.
Parameters
- integer
width
required - Placeholder image width - integer
height
required - 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
image
required - watermark path - integer
posX
required - X/-X watermark position - integer
posY
required - Y/-Y watermark position - integer
width
- Watermark width - integer
height
- Watermark height - string
mode
=THUMBNAIL_OUTBOUND
- Thumbnail modeTHUMBNAIL_OUTBOUND
orTHUMBNAIL_INSET
Compression (TinyPng)
'compress' => true