Image compression 如何使用PHP将图像压缩到200Kb

Image compression 如何使用PHP将图像压缩到200Kb,image-compression,php-imagine,Image Compression,Php Imagine,在我的yii2项目中,我有图像压缩代码。我想将任何大小的图像压缩到200kb。我正在使用Yii2 imagine扩展来压缩图像。我的代码是 Image::thumbnail($uploadPath . '/' . $file->name,$newwidth, $newheight) ->save($uploadPath . '/' . $file->name,['quality' => 100]); $newwidth和$newheight是我们正在上载的图

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

Image::thumbnail($uploadPath . '/' . $file->name,$newwidth, $newheight)
     ->save($uploadPath . '/' . $file->name,['quality' => 100]); 
$newwidth
$newheight
是我们正在上载的图像的原始宽度和高度。 压缩工作正常。但这是最大限度的压缩。假设我上传了一张1MB的图片,那么输出的图片大小将是30kb,我的意思是太小了。所以我需要的是,我必须压缩到200Kb。因此,如果有任何大小,输出应该是200kb

有没有办法做到这一点??如果我们有任何关于核心php的选项,也请告诉我。

尝试此扩展:

我正在使用下一个代码:

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;

但是我怎样才能把尺寸限制在200。在你的代码中,我看不到过滤。无论如何,让我试试这个