脚本宝典收集整理的这篇文章主要介绍了php – 自动在Imagick中设置压缩级别以达到最大文件大小,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$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 }
我想弄清楚的是根据文件大小计算所需压缩级别的近似值所需的等式.我知道由于颜色影响文件大小,这可能不是那么准确,但我希望尽可能接近.
任何帮助将不胜感激.
<?PHP $max_file_size = 70000; $max_compression = 60; $equalizer = 100; for($x=0;$x<$max_file_size+$max_file_size;$x+=10000){ if($x < $max_file_size){ echo $max_compression.'<br>'; }else{ echo $max_compression - (($x / $max_compression * $max_file_size) / ($max_file_size * $max_compression * $equalizer)).'<br>'; } }?>
在你的真实情况中,我会想象你的功能看起来像:
<?PHP function getCompLevel($size){ $maxsize = 70000; $compression = 60; $equalizer = 100; if($size > $maxsize ){ $compression = $compression - (($size / $compression * $maxsize) / ($maxsize * $compression * $equalizer)); } return $compression; }?>
以上是脚本宝典为你收集整理的php – 自动在Imagick中设置压缩级别以达到最大文件大小全部内容,希望文章能够帮你解决php – 自动在Imagick中设置压缩级别以达到最大文件大小所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。