resizeImage和scaleImage之间的区别是什么
如果图像大小大于$myLimit,则需要调整图像大小
示例(伪代码):
$myLimit = 1MB
user uplaod an image of 1000x1000 of 2MB
2MB > $myLimit
while( $imagefilesize > $myLimit ) {
resizeImageBy 0.9%;
}
//> output 900x900 image of 900 kB在while块中,我应该使用这两种方法中的哪一种?
编辑:我发现了一些可能有帮助的东西:http://www.imagemagick.org/Usage/resize/,但有人能简化一下吗?
发布于 2011-03-13 05:05:23
两者之间的区别似乎在于,scaleImage执行的是原始的、基于像素的调整,而resizeImage可以使用an interpolation filter
imagick::INTERPOLATE_AVERAGE
imagick::INTERPOLATE_BICUBIC
imagick::INTERPOLATE_BILINEAR
...这可能会产生更好的结果。
关于Wikipedia上的各种插值方法的更多信息。
发布于 2011-03-13 05:06:28
太棒了,他们自己的文档很糟糕……但好吧:在我看来resizeImage更强大,因此是更好的选择……This link显示了不同过滤器的使用情况以及一些测量结果。
发布于 2014-09-25 06:51:55
根据我的发现,当你想缩小图像时,可以使用resizeImage。因为它可以让您控制图像质量和您要使用的滤镜类型。但在相同的情况下,scaleImage也是一个很好的选择,因为当您必须将图像缩小到10的倍数,并且您使用的是resizeImage时,结果图像将会有许多图形错误。
在第二种情况下,当你必须放大图像时,resizeImage肯定会有图形错误,比如while标记和线条等。在这种情况下,scaleImage将会来拯救。
https://stackoverflow.com/questions/5285345
复制相似问题