我不明白为什么Google Pagespeed会在调整大小后降低图像质量:
这是原始图片: http://www.architetturaecosostenibile.it/images/stories/2014/smart-for-city-a.jpg
我需要调整大小的图像保持完整的质量,没有任何损失。 我该怎么做?
答案 0 :(得分:2)
如果您在HTML中设置了明确的width
和height
属性并且启用了resize_images
过滤器,则mod_pagespeed应仅调整图片大小。此图片是否针对您的网站调整为错误尺寸?或者您是否有明确的width
和height
属性,但由于某种原因仍希望图像为完整尺寸(例如:Retina显示,缩放)?
您可以使用以下命令关闭此mod_pagespeed功能:
pagespeed DisableFilter resize_images;
答案 1 :(得分:1)
您可以尝试在图片标记中指定width和height属性。这可能会解决Google的Pagespeed调整大小的问题。
似乎Google Pagespeed有时会调整图像大小(而不仅仅是压缩它们)。 你可以在这里阅读更多: Weird pagespeed URL for PNG image?
如果您真的想深入研究有关Pagespeed图像压缩的不同属性,可以在Google Pagespeed文档中阅读更多内容: https://developers.google.com/speed/pagespeed/module/filter-image-optimize
希望这能解决你的问题, 汤姆。
答案 2 :(得分:1)
好吧,您应该修改启用了哪些过滤器。看这里:https://developers.google.com/speed/pagespeed/module/filter-image-optimize。
您可能正在使用pagespeed EnableFilters rewrite_images;
来优化图片。唐'吨。 (如果你不是,那么我会改变我的回答)。
rewrite_images
是inline_images,recompress_images,convert_png_to_jpeg,resize_images
的别名,因此只需启用您需要的别名:
pagespeed EnableFilters inline_images,resize_images
如果您不使用nginx,那么只要您使用Pagespeed cdn服务,只需使用适当的Apache语法或正确的过滤器。
老实说,我的屏幕上看不到差异(不使用视网膜显示屏)。因此,谷歌可能无法提供正确的图像,因为它并不尊重视网膜的差异。
请看这里:http://code.tutsplus.com/tutorials/the-right-way-to-retinafy-your-websites--net-31793
看看PageSpeed服务(得分而不是模块/ cdn)如何评分,有助于解释模块/ cdn背后的逻辑,因为后者遵循前者的评估逻辑。
Fix Google PageSpeed's "Serve scaled images" for responsive layout
通过Twitter快速戳戳:https://twitter.com/hkfoster/status/303480645785624578
基本上:如果问题出在视网膜屏幕上,那么您应该关闭resize_images
过滤器。
答案 3 :(得分:1)
不得不说我在2张照片中也看不到差异。 那就是说,我认为你所追求的设定是:
ModPagespeedImageRecompressionQuality -1
请参阅:https://developers.google.com/speed/pagespeed/module/filter-image-optimize#recompressionquality
这使得所有image_rewrite过滤器都能正常工作,但在重新压缩图像时可以实现无损压缩。