yiicod/yii2-easyimage

Yii 2 Framework extension for easy creating and caching thumbnails in real time.

Installs: 1 557

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 2

Forks: 0

Open Issues: 0

Type:yii2-extension

1.0.0 2018-02-18 18:21 UTC

This package is auto-updated.

Last update: 2024-03-26 23:31:35 UTC


README

Latest Stable Version Total Downloads Scrutinizer Code QualityCode Climate

You don't need to create many types of thumbnails for images in your project. You can create a thumbnail directly in the View. Thumbnail will automatically cached. It's easy!

Features:

  • Easy to use
  • Support Imagick, Gmagick and GD2
  • Automatically images caching
  • Cache sorting to subdirectories

Installing and configuring

Add the following to your config file components section:

'easyimage' => [
    'class' => 'yiicod\easyimage\EasyImage',
    'webrootAlias' => '@frontend/web',
    'cachePath' => '/uploads/easyimage/',
    'imageOptions' => [
        'quality' => 100
    ],
],

Parameters

  • string webrootAlias webroot folder path
  • string cachePath cache directory path in webroot folder
  • array imageOptions array with default output image options which will used by Imagine to save image

Usage

Yii::$app->easyimage->getUrl($file, $params, $absolute); //Get cached image url
Yii::$app->easyimage->getPath($file, $params); //Get cached image path

Note: you can get access to the component using static method EasyImage::getInstance()

Parameters

  • string $file required - Image file path
  • array $params image tools params Default: []
  • mixed $absolute get absolute (true) url or not (false). Will use in Url::to() helper method

Available tools and parameters

'crop' => [
    'width' => 200, //Required
    'height' => 200, //Required
    'offset_x' => 100,
    'offset_y' => 100,
],
'flip' => [
    'axis' => 'vertical', //Required available 'vertical' or 'horizontal'
],
'resize' => [
    'width' => 200, //Required
    'height' => 200, //Required
],
'scale' => [
    'width' => 200, //Required
    'height' => 200, //Required
],
'rotate' => [
    'angle' => 45 //Required
],
'thumbnail' => [
    'width' => 100, //Required one of dimensions
    'height' => 100, //Required one of dimensions
],
'watermark' => [
    'image' => $file, //Required
    'offset_x' => 100,
    'offset_y' => 100,
],
'background' => [
    'color' => '#000', //Required
    'alpha' => 0 //Background color's alpha
],

Tools

You can add additional tools in config:

'easyimage' => [
    'class' => 'yiicod\easyimage\EasyImage',
    'webrootAlias' => '@frontend/web',
    'cachePath' => '/uploads/easyimage/',
    'tools' => [
        'crop' => Crop::class,
    ],
],
  • 'crop' - tool name which will use in getUrl() or getPath() params
  • Crop::class - tool class name which must implement yiicod\easyimage\base\ToolInterface