sadovojav/yii2-image-thumbnail

There is no license information available for the latest version (v3.1) of this package.

Yii2 image thumbnail component

Installs: 29 371

Dependents: 3

Suggesters: 0

Security: 0

Stars: 21

Watchers: 7

Forks: 13

Open Issues: 4

Type:yii2-extension

v3.1 2021-01-24 15:47 UTC

This package is auto-updated.

Last update: 2024-04-08 23:09:12 UTC


README

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

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,
    'format' => null, //webp, jpg, png
    'tinyPng' => [
        'apiKey' => null
    ]
]

Note

textSize - does't support on PLACEHOLDER_TYPE_URL

Placeholder type

    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