/yii2-image

Provides methods for the dynamic manipulation of images. Various image formats such as JPEG, PNG, and GIF can be resized, cropped, rotated.

Primary LanguagePHPMIT LicenseMIT

Yii2 Image Extension


Provides methods for the dynamic manipulation of images. Various image formats such as JPEG, PNG, and GIF can be resized, cropped, rotated.

Latest Stable Version Total Downloads License

Installation

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.

Configuration

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',
            ],
        ],
    ],
],

Usage:

$model = Model::find()->one();
echo $model->url('medium'); // home is the type of photo.