在像Tinypng.org这样的ImageResizer中是否存在PNG压缩?

时间:2013-10-31 15:01:09

标签: imageresizer

我有这个项目,显示一个透明的png列表。我使用Cloudfront和ImageResizer来提供我的图像:

media.mysite.com/Images/imageA.png;w=170

现在这是我的泡菜。

imageA.png是~220kb - >在tinypng.org之后 - > ~87kb /减少62%

我可以访问像这样的png“压缩”库,但问题是ImageResizer将大小恢复到完全(没有压缩)

imageA.png; w = 170是~90kb - >在tinypng.org之后 - >减少~20kb / ~62%

所以,即使我通过tinypng.org运行我的imageA.png,然后应用ImageResizer调整大小,我松开了png压缩。最后,这使我的页面变得沉重。

(我确实想到了异步加载我的图像的解决方法。)

所以我想知道ImageResizer可以“动态”执行此png压缩吗?

我正在阅读http://imageresizing.net/plugins/prettygifs,但我不确定我是否理解它是如何运作的。

谢谢!

2 个答案:

答案 0 :(得分:2)

这似乎与PNG Compression and ImageResizer重复。

总结一下 - PNG编码绝对不像Jpeg编码。

完全优化PNG文件的编码会占用大量时间和内存。如果不对其进行解码和重新编码,则无法调整图像大小。 ImageResizer更喜欢用更大的文件大小快速(~100-250ms)恢复图像,而不是花费5-15秒并使用所有服务器的RAM来生成更小的PNG。考虑tinypng.org优化图像需要多长时间。您是否可以在您的网站上实时延迟这种延迟?

ImageResizer提供WebP,它可以为您提供比PNG更好的速度/大小平衡。

基本上,在预优化的PNG精灵上使用ImageResizer不会获得太多文件大小的好处。

答案 1 :(得分:0)

这个插件非常适合我

https://github.com/svenrog/ImageResizer.Plugins.PngOptimizer

只需构建它(我无法在nuget上找到它)并将以下内容添加到<plugins>的{​​{1}}部分

web.config

然后将 <add name="PngOptimizer" /> 添加到您的网址参数中。

确保使用某种缓存 - 亚马逊云端网络效果最佳,因为您可以将其指向您的网站并提供缓存的任何文件。

重要提示:示例中有一个拼写错误,它应该是&optimized=1而不是optimized=1