[ 'class' => GalleryBehavior::className(), 'type' => 'post_gallery', 'extension' => 'png', 'directory' => Yii::getAlias('@webroot') . '/images/post_gallery/gallery', 'url' => Yii::getAlias('@web') . '/images/post_gallery/gallery', 'versions' => [ 'small' => function ($img) { /** @var \Imagine\Image\ImageInterface $img */ return $img ->copy() ->thumbnail(new \Imagine\Image\Box(200, 200)); }, 'medium' => function ($img) { /** @var \Imagine\Image\ImageInterface $img */ $dstSize = $img->getSize(); $maxWidth = 800; if ($dstSize->getWidth() > $maxWidth) { $dstSize = $dstSize->widen($maxWidth); } return $img ->copy() ->resize($dstSize); }, 'large' => function ($img) { /** @var \Imagine\Image\ImageInterface $img */ $dstSize = $img->getSize(); $maxWidth = 1920; if ($dstSize->getWidth() > $maxWidth) { $dstSize = $dstSize->widen($maxWidth); } return $img ->copy() ->resize($dstSize); }, ] ] ]; } public function getInject() { return "##_gallery-".$this->id."##"; } }