【发布时间】:2019-07-14 16:31:10
【问题描述】:
我正在尝试将上传的图片压缩到 200Kb 的特定大小。我不想压缩它们超出需要的程度,并且使用像 PNG 这样的无损压缩是不够的。只需将其设置为 imagejpeg($image, null, 40) 即可为不同的图像创建不同的压缩大小。有没有办法以字节为单位设置所需的压缩大小,或者至少有一些算法可以找出压缩输出,而无需循环 imagejpeg() 从 100 到 0 质量?
【问题讨论】:
-
你不需要循环遍历从 100 到 0 的所有大小,你可以像这样使用二分查找...stackoverflow.com/a/52281257/2836621
-
或者你可以"shell out" 到 ImageMagick 然后这样做...stackoverflow.com/a/29549024/2836621
-
你可以使用 Imagick(PHP 绑定到 ImageMagick)然后使用
$imagick->setOption('jpeg:extent', 200000);
标签: php image compression jpeg