PHPackages                             pavlinter/yii2-display-image2 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. pavlinter/yii2-display-image2

ActiveYii2-extension[Image &amp; Media](/categories/media)

pavlinter/yii2-display-image2
=============================

Yii2: Auto resize image

v2.3.4(8y ago)14642BSD-3-ClausePHP

Since Dec 1Pushed 8y ago2 watchersCompare

[ Source](https://github.com/pavlinter/yii2-display-image2)[ Packagist](https://packagist.org/packages/pavlinter/yii2-display-image2)[ RSS](/packages/pavlinter-yii2-display-image2/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (2)Versions (21)Used By (0)

Yii2 Display Image2
===================

[](#yii2-display-image2)

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist pavlinter/yii2-display-image2 "dev-master"

```

or add

```
"pavlinter/yii2-display-image2": "dev-master"

```

to the require section of your `composer.json` file.

Configuration
-------------

[](#configuration)

```
'modules' => [
  'display2'=> [
      'class'=>'pavlinter\display2\Module',
      'appendTimestamp' => true,
      'categories' => [
          'all' => [
              'imagesWebDir' => '@web/display-images/images',
              'imagesDir' => '@webroot/display-images/images',
              'defaultWebDir' => '@web/display-images/default',
              'defaultDir' => '@webroot/display-images/default',
              'mode' => \pavlinter\display2\objects\Image::MODE_OUTBOUND,
          ],
          'items' => [
              'appendTimestamp' => false,
              'generalDefaultDir' => false,
              'imagesWebDir' => '@web/display-images/items',
              'imagesDir' => '@webroot/display-images/items',
              'defaultWebDir' => '@web/display-images/default/items',
              'defaultDir' => '@webroot/display-images/default/items',
              'mode' => \pavlinter\display2\objects\Image::MODE_STATIC,
          ],
      ],
 ],
],
'components' => [
  'display' => [
    'class' => 'pavlinter\display2\components\Display',
    'resizeModes' => [
        'ownResizeMode' => 'pavlinter\display2\objects\ResizeMode',
        'ownResizeModeParams' => [
            'class' => 'pavlinter\display2\objects\ResizeMode',
        ],
        'ownResizeModeFunc' => function ($image, $originalImage) {
            /* @var $this \pavlinter\display2\components\Display */
            /* @var $image \pavlinter\display2\objects\Image */
            /* @var $originalImage \Imagine\Gd\Image */
            return $originalImage->thumbnail(new \Imagine\Image\Box($image->width, $image->height), \pavlinter\display2\objects\Image::MODE_OUTBOUND);
        }
    ],
  ],
],
```

Crop with url
-------------

[](#crop-with-url)

```
//get all images from folder
//where 1 is id number from database
$images =  Yii::$app->display->getFileImgs(1, 'items', [
  'width' => 100,
  'height' => 100,
  'mode' => \pavlinter\display2\objects\Image::MODE_OUTBOUND,
  'loadingOptions' => [],
],[
  'dir' => 'mainDir',
  'minImages' => 2,
  'maxImages' => 6,
  'recursive' => false,
]);
//return from /display-images/items/1/mainDir/
[
  1204270244_1.jpg' => [
      'id_row' => 1
      'key' => 0
      'fullPath' => 'basePath..../web/display-images/items/1/1204270244_1.jpg'
      'dirName' => '1204270244_1.jpg'
      'imagesDir' => 'basePath..../web/display-images/items/1/'
      'imagesWebDir' => '/display-images/items/1/'
      'originImage' => '/display-images/items/1/1204270244_1.jpg'
      'image' => '1204270244_1.jpg'
      'display' => '/ru/display2/image/crop?width=100&height=100&mode=outbound&category=items&id_row=1&image=1204270244_1.jpg'
      'displayLoading' => ''
  ]
]
echo Yii::$app->display->createUrl([
  'width' => 120,
  'image' => '/subfolders/bg.jpg',
  'category' => 'all',
  'mode' => \pavlinter\display2\objects\Image::MODE_OUTBOUND,
]);
echo Yii::$app->display->showImg([
  'id_row' => 2,
  'width' => 100,
  'image' => 'd.jpeg',
  'category' => 'items',
  'mode' => \pavlinter\display2\objects\Image::MODE_STATIC,
]);

echo Yii::$app->display->showImg([
  'id_row' => 2,
  'width' => 100,
  'image' => 'd.jpeg',
  'category' => 'items',
  'mode' => 'ownResizeMode',
]);
```

Crop now
--------

[](#crop-now)

```
echo Yii::$app->display->showCropImage([ //subfolders image
    'width' => 120,
    'image' => '/subfolders/bg.jpg', // or subfolders/bg.jpg
    'category' => 'all',
]);

echo Yii::$app->display->showCropImage([
    'id_row' => 2,
    'width' => 100,
    'image' => 'd.jpeg',
    'category' => 'items',
]);

echo Yii::$app->display->showCropImage([ //new name
    'name' => 'newName',
    'width' => 100,
    'height' => 130,
    'image' => '334.gif',
    'category' => 'all',
]);

echo Yii::$app->display->showCropImage([ //return default Html::img from items category
    'id_row' => 2,
    'width' => 100,
    'image' => 'rddddd',
    'category' => 'items',
]);
```

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 98.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~45 days

Recently: every ~22 days

Total

20

Last Release

2942d ago

Major Versions

0.3.1 → v2.0.02017-03-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa81148f518734b069ef57f90038de857b4022a2a1b8d59a0f75ccada1747409?d=identicon)[pavlinter](/maintainers/pavlinter)

---

Top Contributors

[![pavlinter](https://avatars.githubusercontent.com/u/6838002?v=4)](https://github.com/pavlinter "pavlinter (53 commits)")[![hooman-mirghasemi](https://avatars.githubusercontent.com/u/11981070?v=4)](https://github.com/hooman-mirghasemi "hooman-mirghasemi (1 commits)")

---

Tags

imageresizeyii2cropdisplayauto-resizedisplayimagedisplay-image2auto crop

### Embed Badge

![Health badge](/badges/pavlinter-yii2-display-image2/health.svg)

```
[![Health](https://phpackages.com/badges/pavlinter-yii2-display-image2/health.svg)](https://phpackages.com/packages/pavlinter-yii2-display-image2)
```

###  Alternatives

[sadovojav/yii2-image-thumbnail

Yii2 image thumbnail component

2142.1k](/packages/sadovojav-yii2-image-thumbnail)[noam148/yii2-image-resize

A Yii2 component for resizing images (on the fly)

1144.6k7](/packages/noam148-yii2-image-resize)[raoul2000/yii2-jcrop-widget

This extension is a wrapper for the jQuery Image Cropping Plugin (jcrop)

10248.3k2](/packages/raoul2000-yii2-jcrop-widget)[demi/cropper

Yii2 wrapper for Image Cropper javascript library

1328.7k1](/packages/demi-cropper)[maxmirazh33/yii2-uploadable-cropable-image

Yii2 extension for upload and crop images

1020.8k](/packages/maxmirazh33-yii2-uploadable-cropable-image)[ayvazyan10/nova-imagic

Imagic is a Laravel Nova field package that allows for image manipulation capabilities, such as cropping, resizing, quality adjustment, and WebP conversion. It utilizes the powerful Intervention Image class for image manipulation.

144.3k1](/packages/ayvazyan10-nova-imagic)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
