gozoro / yii2-preview
用于调整大小、裁剪并创建预览图像,并将其保存到缓存文件夹的Yii2组件。仅使用GD库。
v1.0.1
2021-04-01 23:13 UTC
Requires
- php: >=5.5.9
- gozoro/image: ~1.0.0
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-29 05:36:34 UTC
README
用于调整大小、裁剪并创建预览图像,并将其保存到缓存文件夹的Yii2组件。仅使用GD库。
安装
composer require gozoro/yii2-preview
配置
'components' => [ ... 'preview' => [ 'class' => 'gozoro\preview\PreviewComponent', 'previewPath' => '/var/www/site/www/preview_cache', 'previewWebPath' => '/preview_cache', 'defaultPreview' => 'default.jpg', ], ... ],
使用
$filename = "/var/www/site/images/image.jpg"; //Get preview url $url = Yii::$app->preview->create($filename)->resize(300,300)->crop(200,200)->cache()->url; print '<img src="'.$url.'">'; //Get preview path $imagePath = Yii::$app->preview->create($filename)->resize(300,300)->crop(200,200)->cache()->filename; //Save As Yii::$app->preview->create($filename)->resize(300,300)->crop(200,200)->saveAs('/var/www/site/images/image2.jpg');
其他方法请参阅链接 gozoro/image
PDF配置
'components' => [ ... 'preview' => [ 'class' => 'gozoro\preview\PreviewComponent', 'previewPath' => '/var/www/site/www/preview_cache', 'previewWebPath' => '/preview_cache', 'on beforeOpen' => function($event) { if($event->extension == 'pdf') { $pdf_file = $event->filename; $hash = 'pdf_'.md5($pdf_file); $pdf_image = '/var/www/site/www/preview_cache/'.$hash.'.jpg'; if(!file_exists($pdf_image)) { system( "/usr/bin/nice -2 /usr/bin/gs -dNOPAUSE -q -dBATCH -dSAFER -sDEVICE=jpeg " . " -dJPEGQ=100 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r150 -dFirstPage=1 -dLastPage=1 " . " -sOutputFile=".$pdf_image." ".$pdf_file ); } $event->filename = $pdf_image; } }, ], ... ],