4
我獲取圖像的大小,因爲它們上傳Imagick:設置壓縮級別自動達到最大文件大小
$im->getImageSize();
這將返回圖像的字節大小。
我想自動設置壓縮級別,以便文件大小永遠不會超過一定的大小。
public function getCompLevel($size)
{
$maxsize = 70000; // Set rough max size of file
$mincomp = 60; // Set minimum compression level allowed
if($size > $maxsize){ // If file size exceeds max allowed size, perform calculation
$comp = **EQUATION**
}
return ($comp < $mincomp) ? $mincomp : $comp; // if output is less than minimum allowed compression , return minimum. If not return calculated compression level
}
我試圖找出是方程:如果我要限制在70KB與60允許的最小壓縮級別(0-100規模),我會做這樣的事情開始需要根據文件大小計算所需壓縮級別的近似值。我知道這可能不是那麼準確,因爲顏色影響文件大小,但我希望儘可能接近。
任何幫助將不勝感激。
難以置信......這正是我期待的,似乎工作得很好。一個很好的答案,完全覆蓋整個大綱。非常感謝塞繆爾! – gordyr
我真的很喜歡這個問題,很高興我能幫上忙 –