[英]How can I compress images,so that google pagespeed test won't recommend to compress that image again?
每当我运行pagespeed test时,它都会以字节和百分比的形式提供图像的可能优化,例如,
压缩并调整大小https://example.com/…ts / AMP.jpg?6750368613317441460可以节省530KiB(减少91%)。
压缩https://example.com/…AMP.png?12287830358450898504可以节省4.4KiB(减少31%)。
我正在使用ImageMagick压缩图像。
我已经尝试convert AMP.gif_or_png -strip [-alpha Remove] OUTPUT.png
为png图像,
convert INPUT.jpg -sampling-factor 4:2:0 -strip [-quality 85] [-interlace JPEG] [-colorspace RGB] OUTPUT.jpg
对于jpg图像,但上述命令均不能像google pagespeed那样为我提供相同的降低效果。 所以,让我知道我是否缺少任何参数,或者我传递了错误的参数值。
压缩内容包可在google pagespeed页面上找到,但是,我想使用ImageMagick或任何其他来源来压缩图像。
可能是没有可用的工具来动态地执行任务。您应该进行一些计算,或者如果您使用任何语言来执行任务,那么就会有很多内置的类可用,因此您可以使用这些类来压缩图像,例如在Java Imagescalr中,Thumbnail或ImageWriteParam,或者您也可以使用Matlab。
压缩并调整大小https://example.com/…ts / AMP.jpg?6750368613317441460可以节省530KiB(减少91%)。
530 KiB减少很多。 验证图像大小是否一致。 我的意思是,如果您有一个400x200的图片,并且以200x100的比例显示,那么PageSpeed所追求的就是以正确的分辨率(或多个分辨率)进行投放。
对于PNG图像,通常可以减少颜色:如果您有12色图像(例如原理图),则以24位,8位或4位格式显示图像会有很大的不同,而人们所看到的却没有任何改变一旦显示出来。 不过,移除不必要的Alpha通道的通话效果不错。
其余的您可以使用pngopt
, pngcrush
或advpng
类的工具advpng
。 可以使用JPEG质量参数或合适的工具( tinyjpg或google'JPEG压缩优化器')来提高JPEG大小。 有一些工具能够选择性地编码图像的不同区域,或重写PNG调色板以利用zLib压缩功能。
JPEG的另一种可能性是使用逐行格式,该格式允许快速显示原始图像并对其进行迭代优化。 更多的总带宽也更明显的速度(以下浏览器支持也;检查出来)。
使用ImageMagick可以自动完成所有这些操作不是自动的-毕竟,ImageMagick并不直接负责文件操作,而是直接负责图像操作。 它的文件压缩功能可能不如其他工具那么完善或先进。
您可以从该页面下载压缩包,其中包含图像和针对其喜好而优化的代码...这几乎是最好的图像压缩。
我会推荐thumbor.org 。 这是一个开源映像服务,您可以简单地开始在Amazon Elastic Beanstalk上使用docker容器。 它具有一些不错的功能,例如智能裁剪和面部检测。
要启动它,只需使用docker作为预定义配置创建一个弹性beantalk环境。 然后,在“应用程序版本”选项卡中提供具有以下内容的JSON文件。
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "apsl/thumbor"
},
"Ports": [
{
"ContainerPort": "8000"
}
]
}
然后,可以使用弹性beantalk环境变量配置thumbor。 为了优化JPG,您应该添加jpegtran优化器。
OPTIMIZERS = ['thumbor.optimizers.jpegtran']
我们在Storyblok.com上使用它来优化图像,而Google Pagespeed对结果感到满意: https ://www.storyblok.com/docs/Guides/how-to-resize-images
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.