assayer-pro / yii2-easy-thumbnail-image-helper
Yii2 实时创建和缓存缩略图的辅助工具
1.2.0
2018-03-08 07:27 UTC
Requires
- yiisoft/yii2: ~2.0.13
- yiisoft/yii2-httpclient: ~2.0.0
- yiisoft/yii2-imagine: *
This package is auto-updated.
Last update: 2024-09-14 05:21:52 UTC
README
Yii2 实时创建和缓存缩略图的辅助工具。
安装
通过 composer 安装此扩展是首选方式。
- 运行以下命令
php composer.phar require "assayer-pro/yii2-easy-thumbnail-image-helper" "*"
或者
"assayer-pro/yii2-easy-thumbnail-image-helper" : "*"
将以下内容添加到您应用程序的 composer.json 文件的要求部分
- 在应用程序配置文件的
components部分添加一个新组件(可选),例如
'components' => [ 'thumbnail' => [ 'class' => 'assayerpro\thumbnail\EasyThumbnailImage', 'cacheAlias' => 'assets/gallery_thumbnails', 'quality' => 90, ], ],
如果需要为应用程序设置全局辅助器设置,这是必要的。
使用方法
例如
use assayerpro\thumbnail\EasyThumbnailImage; echo Yii::$app->thumbnail->thumbnailImg( $model->pictureFile, 50, 50, EasyThumbnailImage::THUMBNAIL_OUTBOUND, ['alt' => $model->pictureName] );
或者
use assayerpro\thumbnail\EasyThumbnailImage; echo Yii::$app->thumbnail->thumbnailImg( 'http://...', 50, 50, EasyThumbnailImage::THUMBNAIL_OUTBOUND, );
如果缩略图尺寸之一设置为 null,则另一个尺寸将根据原始图像的宽高比自动计算。请注意,在这种情况下,计算出的缩略图尺寸可能会根据源图像而有所不同。
use assayerpro\thumbnail\EasyThumbnailImage; echo Yii::$app->thumbnail->thumbnailImg( $model->pictureFile, 50, null );
如果指定了两个尺寸,则生成的缩略图将正好是指定的宽度和高度。如何实现取决于模式。
有关其他功能,请参阅源代码。
如果您想自己处理转换缩略图时出现的错误,请创建自己的类,并从 EasyThumbnailImage 继承。在您的类中,只需替换受保护的错误处理方法。例如
class ThumbHelper extends \assayerpro\thumbnail\EasyThumbnailImage { protected static function errorHandler($error, $filename) { if ($error instanceof \assayerpro\thumbnail\FileNotFoundException) { return \yii\helpers\Html::img('@web/images/notfound.png'); } else { $filename = basename($filename); return \yii\helpers\Html::a($filename,"@web/files/$filename"); } } }