Skip to content
Create image thumbnail Yii2 component
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets/fonts
.gitignore First commit Jun 30, 2015
AssetBundle.php Add new placehold.it url Apr 29, 2016
README.md Placeholder URL was changed Apr 9, 2019
Thumbnail.php Added to use prefixPath to placeholder image Apr 9, 2019
composer.json Add TinyPng compression Aug 22, 2016

README.md

Yii2 image thumbnail

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 & holder.js

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,
    'tinyPng' => [
        'apiKey' => null
    ]
]

Note

textSize - does't support on PLACEHOLDER_TYPE_URL

Placeholder type

    1. sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_JS - holder.js
    1. sadovojav\image\Thumbnail::PLACEHOLDER_TYPE_URL - get placeholder by url
    1. 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 be Null
  • 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 be Null
  • 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 mode THUMBNAIL_OUTBOUND or THUMBNAIL_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 mode THUMBNAIL_OUTBOUND or THUMBNAIL_INSET

Compression (TinyPng)

'compress' => true
You can’t perform that action at this time.