-1

在我的 yii2 项目中,我有图像压缩代码。我想将任何大小的图像压缩到 200kb。我正在使用 Yii2 想象扩展来压缩图像。我的代码是

Image::thumbnail($uploadPath . '/' . $file->name,$newwidth, $newheight)
     ->save($uploadPath . '/' . $file->name,['quality' => 100]); 

$newwidth$newheight是我们上传的图片的原始宽度和高度。压缩工作正常。但它压缩了最大值。假设我上传了一张 1MB 的图片,那么输出的图片大小会是 30kb,我的意思是太小了。所以我需要的是,我必须压缩到 200Kb。所以如果有任何大小,输出应该是 200kb。

有没有办法做到这一点?如果我们对核心 php 有任何选择,请告诉我。

4

1 回答 1

0

试试这个扩展:https ://github.com/yiisoft/yii2-imagine

我正在使用下一个代码:

Image::getImagine()->open($originFile)
   ->thumbnail(new Box(800, 800))
   ->save($filesPath .'/'. $newImageName . '.' . $originFile->file->extension, ['quality' => 100]);

接下来您必须在控制器中包含:

use yii\imagine\Image;
use Imagine\Gd;
use Imagine\Image\Box;
use Imagine\Image\BoxInterface;
于 2020-12-31T17:57:11.753 回答