为什么添加透明空白时 png24-sprite 的文件大小会增加?
我正在创建一个 png24 作为 css 背景图像的精灵。
由于填充问题,我必须在精灵中的图标之间保留一定的空间。
这样做时,即使没有添加任何信息,png 的文件大小也会增加......只是空的、透明的空间。
有什么解决方法吗? (我已经尝试过 png 压缩 - smushit - 但没有取得重大改进......)
谢谢
I am creating a png24 as sprite for css background images.
Due to padding issues I have to keep a certain amount of space between the icons in the sprite.
When doing so the file size of the png increases even though no information was added... Just empty, transparent space.
Is there any workaround for this? (I have already tried png compression - smushit - but no significant improvement made...)
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
空旷、透明的空间也是信息。如果 PNG 具有 Alpha 通道,则每个像素都包含红色、绿色、蓝色和 Alpha 分量的信息
(r,g,b,a)
。对于透明像素,alpha 仅为 0,但它仍然是文件中存在的信息。Empty, transparent space is information as well. If a PNG has an alpha channel, then every pixel consists of the informations
(r,g,b,a)
for red, green, blue and alpha components. In case of a transparent pixel the alpha is simply 0, but it's nevertheless information that is present in the file.空仍然是一种数据,因此当您添加空白区域时,您添加的数据会告诉 PNG 解码器每个图形之间的空白区域。
我认为增加的文件大小与向服务器发出额外的请求相比是微不足道的。
Empty is still kind of data, so when you add an empty space, you add a data that tells the PNG decoder about the empty space between each graphic.
I suppose the added file size is insignificant next to making extra requests to the server.