Provides methods for the dynamic manipulation of images. Various image formats such as JPEG, PNG, and GIF can be resized, cropped, rotated.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yii2mod/yii2-image "*"
or add
"yii2mod/yii2-image": "*"
to the require section of your composer.json.
Component Setup
To use the Image Component, you need to configure the components array in your application configuration:
'components' => [
'image' => [
'class' => 'yii2mod\image\ImageComponent',
],
],
Attach the behavior to the model
You need to add the ImageBehavior
to the your model.
public function behaviors()
{
return [
'image' => [
'class' => ImageBehavior::class,
'pathAttribute' => 'path',
],
];
}
Action Setup
You need to add the ImageAction
to the your controller.
public function actions()
{
return [
'image' => 'yii2mod\image\actions\ImageAction'
];
}
Configuring image types
Next, you should configure your params section in your configuration file:
'params' => [
'image' => [
'medium' => [
'thumbnail' => [
'box' => [194, 194],
'mode' => 'outbound'
],
'visible' => 'user', //checking role before outputing url
],
'home' => [
'thumbnail' => [
'box' => [640, 480],
'mode' => 'inset',
],
'watermark' => [
'watermarkFilename' => '@app/web/images/watermark.png',
],
],
],
],
$model = Model::find()->one();
echo $model->url('medium'); // home is the type of photo.