哪些配置设置会影响 Sitecore 图像大小调整中的 PNG 优化?
Which config settings affect PNG optimisation in Sitecore image resizing?
我正在使用 Sitecore 调整大小来根据访问者设备的视口宽度传送 PNG。不幸的是,我的 24 位深度 PNG 被保存为 32 位深度 PNG,当按比例缩小时,文件大小大约是原来的两倍。
我可以使用哪些配置设置来控制调整管道中的 PNG 优化?有些似乎只适用于 JPEG。
无法说明设置,但是有一篇文章介绍了如何使用 PNG 实现该设置:
http://www.roundedcube.com/Blog/2013/building-the-png-optimizer-module
将 PNG 从 32 位优化为 8 位,显着减小了文件大小,而没有明显的质量损失。
回答我自己的问题
Sitecore 图像大小调整使用本机 .NET 库。这些不支持用于处理 PNG 中的位深度或指定无损压缩算法的任何参数。 PNG 首先转换为位图,调整大小,然后保存为 PNG,32 位。由于没有任何方法可以在 .NET 中指定位深度而不合并不同的图像处理库,因此 Sitecore 中没有它的参数。唯一的解决方案是导入另一个库或模块并将其合并到管道中。
这有多种可能性,但 Dianoga 在 Github 上可用并且可扩展。 https://github.com/kamsar/Dianoga
我正在使用 Sitecore 调整大小来根据访问者设备的视口宽度传送 PNG。不幸的是,我的 24 位深度 PNG 被保存为 32 位深度 PNG,当按比例缩小时,文件大小大约是原来的两倍。
我可以使用哪些配置设置来控制调整管道中的 PNG 优化?有些似乎只适用于 JPEG。
无法说明设置,但是有一篇文章介绍了如何使用 PNG 实现该设置:
http://www.roundedcube.com/Blog/2013/building-the-png-optimizer-module
将 PNG 从 32 位优化为 8 位,显着减小了文件大小,而没有明显的质量损失。
回答我自己的问题
Sitecore 图像大小调整使用本机 .NET 库。这些不支持用于处理 PNG 中的位深度或指定无损压缩算法的任何参数。 PNG 首先转换为位图,调整大小,然后保存为 PNG,32 位。由于没有任何方法可以在 .NET 中指定位深度而不合并不同的图像处理库,因此 Sitecore 中没有它的参数。唯一的解决方案是导入另一个库或模块并将其合并到管道中。
这有多种可能性,但 Dianoga 在 Github 上可用并且可扩展。 https://github.com/kamsar/Dianoga