Pagespeed调整了低质量的图像

时间:2014-10-09 16:34:11

标签: image optimization nginx pagespeed

我不明白为什么Google Pagespeed会在调整大小后降低图像质量:

这是原始图片: http://www.architetturaecosostenibile.it/images/stories/2014/smart-for-city-a.jpg

这是重新调整大小的: http://www.architetturaecosostenibile.it/images/stories/2014/480x248xsmart-for-city-a.jpg.pagespeed.ic.Yfy3eHlQsi.jpg

我需要调整大小的图像保持完整的质量,没有任何损失。 我该怎么做?

4 个答案:

答案 0 :(得分:2)

如果您在HTML中设置了明确的widthheight属性并且启用了resize_images过滤器,则mod_pagespeed应仅调整图片大小。此图片是否针对您的网站调整为错误尺寸?或者您是否有明确的widthheight属性,但由于某种原因仍希望图像为完整尺寸(例如: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_imagesinline_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过滤器都能正常工作,但在重新压缩图像时可以实现无损压缩。