image - PNG 压缩

标签 image optimization png

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




一些 PNG 图像虽然只有 150px x 160px 宽,但文件大小为 60KB。我已经通过优化器(Mac 版 ImageOptim)运行了它们,但这并没有多大帮助。

有没有办法进一步压缩它,手动或使用其他工具?普通 150x160 图像的 60KB 真的 Not Acceptable ,我不能在那里使用 JPG 或 GIF,因为我需要透明度。

我尝试将 PNG 导出为 8 位 PNG 并且文件大小显着减少!

最佳答案

这与 PNG 压缩的工作方式有关。

与 JPEG 不同,PNG 是一种无损格式,位置方面,但不一定是颜色方面。

也就是说 - 当 JPEG 存储颜色从一个区域到另一个区域的转换时,PNG 逐个像素地存储数据,然后无损地压缩该数据。

GIF 和 PNG 之间的区别实际上来自传统约定——GIF 传统上保存为 8 位,而后来出现的 PNG 通常保存为 32 位(真彩色 + alpha/透明度)。因此,32 位图像每像素需要四倍的未压缩数据,并且根据图像的具体情况,数据越详细,无损压缩的效果就越差。

因此,如果要将 8 位 PNG 与 8 位 GIF 进行比较,文件大小应该非常相似。这同样适用于真彩色 PNG 与真彩色 GIF。这解释了为什么选择 8 位选项将解决文件大小问题。否则,它实际上是一个压缩的 BMP。

关于image - PNG 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062332/

相关文章:

css - 是否可以使图像始终显示最小高度,同时始终保持最小 100% 宽度?

Javascript:图像对象的 onerror 事件有哪些参数?如何获取与图像相关的错误的更多详细信息?

java - 每次都创建字符串文字吗?

c# - 从循环中创建唯一字符串列表的最快方法?

optimization - MySQL 分区性能

php - 在 PHP 中创建一个真正的灰度 PNG

php - 使用 PHP 将 JPEG 转换为透明 PNG

c# - 如何绘制图像?

iphone - 具有核心显卡的图像效果

windows - 使用 Win32/C++ 读取 PNG