graphics - 小网站图片采用哪种格式? GIF 还是 PNG?

标签 graphics png file-format gif

在为网站做小图标、标题图形等时,使用GIF还是PNG更好?

显然,如果需要透明效果,那么 PNG 绝对是最佳选择,对于更大、更具摄影性的图像,我会使用 JPEG - 但对于普通的网络“家具”,您会推荐哪种,为什么?这可能只是我正在使用的工具的问题,但 GIF 文件通常看起来比类似的 PNG 小一点,但使用它们看起来就像 1987 年一样。

最佳答案

作为一般规则,PNG 永远不会比 GIF 更差,而且往往比 GIF 更好,因为它具有出色的压缩能力。可能在某些边缘情况下 GIF 稍好一些(因为 PNG 格式的元数据开销可能稍大),但这确实不值得担心。

It may just be the tools I'm using, but GIF files usually seem to be a bit smaller than a comparible PNG

这确实可能是由于您使用的编码工具造成的。

/编辑:哇,似乎对 PNG 文件大小有很多误解。引用马特的话:

There's nothing wrong with GIFs for images with few colours, and as you have noticed they tend to be smaller.

这是一个典型的编码错误,并非格式所固有的。您可以控制颜色深度并使 PNG 文件尽可能小。请引用relevant section在维基百科文章中。

此外,Chrono 夸大了 MSIE6 中缺乏支持:

If you need transparency and can get by with GIFs, then I'd recommend them because IE6 supports them. IE6 doesn't do well with transparent PNGs.

这是错误的。 MSIE6 确实支持 PNG 透明度。它不支持 Alpha channel (无需进行一些修改),但这是另一回事,因为 GIF 根本不支持它。

使用 GIF 而不是 PNG 的唯一技术原因是当使用需要动画并且不想依赖其他格式时。

关于graphics - 小网站图片采用哪种格式? GIF 还是 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115818/

相关文章:

c++ - 如何使用键盘移动对象?

python - 适用于 3D 建模管道的文件格式和工具

支持多流的音频文件格式

c++ - 如何将元数据附加到视频的每一帧

c++ - 图形渲染管道如何与相机矩阵估计算法相关联?

java - 变量在静态时发生变化,在非静态时保持不变

c++ - 在 opengl 中渲染迷宫

Python:读写TIFF 16位,三 channel ,彩色图像

德尔福,GR32 + PngObject : converting to Bitmap32 doesn't work as expected

python - 尝试使用 PIL 和 BytesIO 显示图像但不返回任何内容