我目前將上傳的圖片重新取樣爲靜態寬度和高度。我希望能夠以低於某個文件大小閾值的最高質量創建圖像的新副本。目前,我使用的是非常幼稚的方法 - 是這樣的:確定文件大小的適當圖像質量?
$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;
}
有沒有確定我應該用什麼質量更好的方法?
[PHP GD Jpeg with a目標文件大小]的可能重複(http://stackoverflow.com/questions/7015864/php-gd-jpeg-with-a-target-filesize) – 2012-07-19 23:18:26
@AlixAxel:如果您閱讀回答這個問題,你會發現這正是我已經發布並試圖避免的。 – FtDRbwLXw6 2012-07-19 23:20:43
我不認爲你在做什麼托馬斯建議(http://stackoverflow.com/a/7016353/89771)...如果我是你,我會準備一些圖像,調整它們的不同品質,並使用它數據繪製一個線性迴歸(https://github.com/alixaxel/phunction/blob/master/phunction/Math.php#L546) - 然後您可以使用'm'和'b'(或它們在多個圖像之間的平均值)作爲你的一般表達來得到一個非常好的近似值。 – 2012-07-19 23:27:19