pendalf89 / yii2-image-resizer
Yii2 图片缩放器
dev-master
2018-02-04 14:31 UTC
Requires
This package is auto-updated.
Last update: 2024-08-28 08:03:18 UTC
README
此Yii2组件提供从原始图片创建缩略图的功能。只需添加包含尺寸的数组,享受乐趣!
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist pendalf89/yii2-image-resizer "*"
或将以下内容添加到您的 composer.json
文件的 require 部分。
"pendalf89/yii2-image-resizer": "*"
配置
'components' => [ 'imageResizer' => [ 'class' => 'pendalf89\imageresizer\ImageResizer', // directory with images 'dir' => '@runtime/images', // image sizes. If 'suffix' not set, than width and height be used for suffix name. 'sizes' => [ // in this case height will be calculated automatically ['width' => 800, 'height' => null, 'suffix' => 'lg'], ['width' => 300, 'height' => 200, 'suffix' => 'md'], [ 'width' => 300, 'height' => 100, 'suffix' => 'sm', 'mode' => 'inset', 'thumbnailBackgroundAlpha' => 0, 'fixedSize' => true ], ['width' => 200, 'height' => 50], // without suffix. Not recommended. ], // handle directory recursively 'recursively' => true, // enable rewrite thumbs if its already exists 'enableRewrite' => true, // array|string the driver to use. This can be either a single driver name or an array of driver names. // If the latter, the first available driver will be used. 'driver' => ['gmagick', 'imagick', 'gd2'], // image creation mode. 'mode' => 'inset', // enable to delete all images, which sizes not in $this->sizes array 'deleteNonActualSizes' => false, // background transparency to use when creating thumbnails in `ImageInterface::THUMBNAIL_INSET`. // If "true", background will be transparent, if "false", will be white color. // Note, than jpeg images not support transparent background. 'bgTransparent' => false, // want you to get thumbs of a fixed size or not. Has no effect, if $mode set "outbound". // If "true" then thumbs will be the exact same size as in the $sizes array. // The background will be filled with white color. // Background transparency is controlled by the parameter $bgTransparent. // If "false", then thumbs will have a proportional size. // If the size of the thumbs larger than the original image, // the thumbs will be the size of the original image. 'fixedSize' => true, ], ],
用法
// resize all images. Yii::$app->imageResizer->resizeAll(); // resize one image. Yii::$app->imageResizer->resize('path/to/original/image.png'); // returns thumbs filenames from original image. Yii::$app->imageResizer->getThumbs('path/to/original/image.png');