1

我目前正在将上传的图像重新采样为静态宽度和高度。我希望能够以低于某个文件大小阈值的最高质量创建图像的新副本。目前,我正在使用一种非常幼稚的方法 - 像这样:

$size = NULL;
$quality = 100;

while ($size === NULL || $size > MAX_SIZE) {
    // write the image to disk using $quality

    clearstatcache(TRUE, $image);
    $size = filesize($image);

    $quality -= 10;
}

有没有更好的方法来确定我应该使用什么质量?

4

1 回答 1

2

生成的文件大小不仅取决于质量参数,还取决于图像本身。通常,无法准确预测文件大小。

您可以对典型图像进行一系列测量并创建一些比例,让您更快地猜出准确的质量参数。

您也可以进行二分搜索,在一些迭代后会收敛到足够好的点。

于 2012-07-19T23:18:32.390 回答