【发布时间】:2019-12-27 19:00:25
【问题描述】:
我需要调整一堆大图像的大小并将它们缩小。原件大约是 2500x3800,我需要将它们调整到大约 400x650(我保持精确的纵横比,这些只是一些粗略的示例数字)。
我目前正在使用 PHP、imagecopyresampled()、imagejpeg() 和 imagepng()。当我以这种方式缩小它们时,客户对最终的图像质量不满意——它们有点模糊。我对imagejpeg() 和imagepng() 都使用了最高质量的选项(即分别为100 和0)。
那么,如何缩小这些图像的大小并获得比上述图像更好的质量? PHP中有更好的选择吗?我应该使用不同的工具/语言吗?
一个 SO 问题建议多次调整大小(例如,先调整为中等大小,然后再调整为小版本)。这种方法有什么优点吗?
有趣的是,我在不同的网页上以更小的尺寸显示相同的调整大小的图像。我正在使用 HTML/CSS 将它们缩小 10-20%。当我这样做时,客户对质量感到满意。因此,如果您在浏览器中使用 HTML/CSS 稍微减小图像尺寸,似乎有一种方法可以提高图像质量。我应该使用这种方法吗?这听起来不是个好主意。
【问题讨论】:
-
PNG 没有质量设置。它是无损压缩,其压缩设置的所有值在读出时都会产生完全相同的图像。参数平衡压缩时间与文件大小。
-
请不要重新发明轮子。有很多很酷的库可以为您完成这些任务。你必须使用它们。
-
看看这个很酷的库,github.com/gumlet/php-image-resize,它完全按照你想要的方式工作
标签: php html css image-processing image-quality