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
- 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
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
Attach the component in your config file:
'components' => [
'thumbnail' => [
'class' => 'sadovojav\image\Thumbnail',
],
],
- 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)
'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
]
]
textSize - does't support on PLACEHOLDER_TYPE_URL
-
- sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL - get placeholder by url
-
- sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_IMAGINE - create placeholder used Imagine
echo Yii::$app->thumbnail->img($file, $params, $options);
This method returns Html::img()
- string
$file
required - Image file path - array
$params
required - Image manipulation methods. See Methods - array
$options
- options for Html::img()
<?= Yii::$app->thumbnail->img(IMAGE_SRC, [
'thumbnail' => [
'width' => 320,
'height' => 230,
],
'placeholder' => [
'width' => 320,
'height' => 230
]
]); ?>
echo Yii::$app->thumbnail->url($file, $params);
This method returns cache image url
- string
$file
required - Image file path - array
$params
- Image manipulation methods. See Methods
<?= Yii::$app->thumbnail->url(IMAGE_SRC, [
'thumbnail' => [
'width' => 320,
'height' => 230,
],
'placeholder' => [
'width' => 320,
'height' => 230
]
]); ?>
echo Yii::$app->thumbnail->img($file, $params, $options);
This method returns Html::img()
- string
$file
required - must to beNull
- array
$params
required - Image manipulation methods. See Methods - array
$options
- options for Html::img()
<?= Yii::$app->thumbnail->img(null, [
'placeholder' => [
'width' => 320,
'height' => 230
]
]); ?>
echo Yii::$app->thumbnail->url($file, $params, $options);
This method returns path to placeholder image
- string
$file
required - must to beNull
- array
$params
required - Image manipulation methods. See Methods - array
$options
- options for Html::img()
<?= Yii::$app->thumbnail->url(null, [
'placeholder' => [
'width' => 320,
'height' => 230
]
]); ?>
'resize' => [
'width' => 320,
'height' => 200
]
- integer
width
required - New width - integer
height
required - New height
'crop' => [
'width' => 250,
'height' => 200,
]
- 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' => [
'width' => 450,
'height' => 250,
]
- integer
width
required - New width - integer
height
required - New height - string
mode
=THUMBNAIL_OUTBOUND
- Thumbnail modeTHUMBNAIL_OUTBOUND
orTHUMBNAIL_INSET
'placeholder' => [
'width' => 450,
'height' => 250,
]
This method return image placeholder if image file doesn't exist.
- 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' => [
'image' => IMAGE_SRC
'posX' => 0,
'posY' => 0,
'width' => 50,
'height' => 50
]
- 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
'compress' => true