脚本宝典收集整理的这篇文章主要介绍了php – 根据最大文件大小缩放图像,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我看一下这个SOF问题:ImageMagick: scale JPEG image with a maximum file-size这正是我想做的,但是来自Imagick的extent()方法没有size参数:http://www.php.net/manual/en/imagick.extentimage.php
谁知道我怎么做到了?目前,我正在尝试计算原始文件大小和目标文件大小之间的系数,以计算新的分辨率,但发现分辨率与文件大小不成比例.
更新 – 输出格式始终为JPEG,因此如果有一种方法可以在保存之前计算大小,那将是很好的
马克西姆,提前谢谢
设置jpeg范围选项的功能是:
$imagick->setOption('jpeg:extent','2500kb');
有趣的是,设置此选项后,函数$imagick-> getImageBlob()似乎崩溃了.您被迫将文件写入磁盘,而不是直接获取它的字节.
没有.对于给定的图像质量,每个图像中的细节量决定了压缩后图像的大小.因此,无法计算出最终尺寸的质量水平.
底层Image Magick库中限制文件大小的C代码是:
maximum=101; for (minimum=2; minimum < maximum; ) { jpeg_image->qualITy=minimum+(maximum-minimum+1)/2; status=WriteJPEGImage(jpeg_info,jpeg_image); if (GetBlobSize(jpeg_image) <= extent) minimum=jpeg_image->quality+1; else maximum=jpeg_image->quality-1; } }
以上是脚本宝典为你收集整理的php – 根据最大文件大小缩放图像全部内容,希望文章能够帮你解决php – 根据最大文件大小缩放图像所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。