我在上传图像时检索图像的大小:
$im->getImageSize();
这将返回图像的大小(以字节为单位)。
我想自动设置压缩级别,以便文件大小永远不会超过某个大小。如果我想限制为 70kb,最小允许压缩级别为 60(范围为 0-100),我会先执行以下操作:
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
}
我想弄清楚的是根据文件大小计算所需压缩级别的近似值所需的等式。我知道由于颜色会影响文件大小,这可能不是那么准确,但我想尽可能接近。
任何帮助将不胜感激。