代码之家  ›  专栏  ›  技术社区  ›  David Heggie

小型网站图片采用哪种格式?GIF还是PNG?[闭门]

  •  34
  • David Heggie  · 技术社区  · 16 年前

    在为网站制作小图标、标题图形等时,使用GIF或PNG更好吗?

    显然,如果需要透明效果,那么PNG绝对是一种选择,对于更大、更具照片效果的图像,我会使用JPEG——但是对于普通的网络“家具”,你会推荐哪一种?为什么?它可能只是我正在使用的工具,但GIF文件通常看起来比可比较的PNG文件小一点,但使用它们似乎太简单了。

    17 回复  |  直到 16 年前
        1
  •  58
  •   Konrad Rudolph    16 年前

    一般来说,PNG永远不会比GIF差,而且通常比GIF好,因为它具有更好的压缩效果。在某些边缘情况下,GIF可能稍好一些(因为PNG格式可能比元数据的开销稍大),但这真的不值得担心。

    它可能只是我正在使用的工具,但GIF文件通常看起来比可比较的PNG文件小一点

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

    对于颜色很少的图像,GIF没有什么错,正如您所注意到的,GIF往往更小。

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

    如果你需要透明,并且可以使用GIF,那么我推荐它们,因为IE6支持它们。IE6不能很好地处理透明PNG。

    那是错误的。MSIE6 支持PNG透明度。虽然它不支持alpha通道(没有一些破解),但这是另一回事,因为GIFs根本没有它。

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

        2
  •  12
  •   Leo Moore    16 年前

    W3C提到了PNG相对于GIF的3个优势。

    透明度),

    跨平台伽马校正 (图像亮度控制)和 色校正

    二维隔行扫描(a)

        3
  •  7
  •   JarrettV    16 年前

    哇,我真的对这里所有的错误答案感到惊讶。正确优化后,PNG-8将始终小于GIF。只需运行PNG-8文件即可 PngCrush 或任何其他PNG优化例程。

    需要了解的关键事项:

    • PNG8和GIF是无损的<=256色
    • PNG8可以始终小于GIF
    • 除非需要动画,否则永远不要使用GIF

    • 将PNG用于低颜色、线条艺术、屏幕截图类型的图像
        4
  •  5
  •   devinmoore    16 年前

    http://www.cloanto.com/users/mcb/19950127giflzw.html

    这些专利显然已于2004年到期,但你可以使用PNG作为GIF上的开源软件的想法吸引了很多人。

    (png开源参考: http://www.linuxtoday.com/news_story.php3?ltsn=1999-09-09-021-04-PS )

        6
  •  2
  •   Christoph Schiessl Joeyjoejoejr    16 年前

    我不认为这有多大区别(客户不在乎)。我个人会选择PNG,因为它们是W3C标准。

    注意PNG透明效果:它们不适用于IE6。

        7
  •  2
  •   Dan Aditi    16 年前

    对于图标等,您可以在PNG和GIF之间进行选择。GIF限制为256色。PNG可以像GIF一样格式化(即256色,具有1位透明度,在IE6中可以使用),但对于小图像,它们是 轻微地 比GIF大。24位PNG支持大范围和alpha透明(尽管在IE6中很麻烦)。

    硬边),就我个人而言,这是我大部分时间坚持的,除非我有JPEG更适合的东西(比如照片)。

        8
  •  2
  •   Phrodo_00    16 年前

    索引PNG(少于256色)实际上总是比gif小,所以我大部分时间都使用它。

        9
  •  1
  •   Milan BabuÅ¡kov    16 年前

    对于计算机生成的图形(即,在Photoshop、Gimp等中自己绘制的图形),JPG是不可能的,因为它是有损的,即,您会得到随机的灰色像素。对于静态图像,PNG在各个方面都更好:颜色更多,透明度可扩展(例如,10%透明,.gif仅支持0%和100%),但存在一个问题,即某些版本的Internet Explorer不能正确地实现PNG透明度,因此您会得到看起来很难看的平坦不透明背景。如果你不在乎那些IE用户,那就选择PNG吧。

    顺便说一句,如果你想要动画,可以选择GIF。

        10
  •  1
  •   richardtallent    16 年前

    PNG是GIF文件的100%替代品,您可能遇到的所有web浏览器都支持PNG。

    有非常非常少的情况下,GIF会更好。最重要的是动画——GIF89a标准支持动画,几乎所有浏览器都支持动画,但普通的旧PNG格式不支持动画——您需要使用MNG来实现这一点,因为它对浏览器的支持有限。

    几乎所有浏览器都支持PNG文件中的单位透明度(GIF格式提供的透明度类型)。IE6中缺乏对PNG的完全8位透明性的支持,但在大多数情况下,可以通过一点CSS魔术来纠正这一点。

    如果你的PNG文件比同等的GIF文件大,这几乎可以肯定,因为你的源图像有超过256种颜色。GIF文件的索引最大调色板为256色,而大多数图形程序中的PNG文件默认以24位无损格式保存。如果文件大小比准确的颜色更重要,请将文件另存为8位索引PNG,它应该与GIF等效或更好。

    使用带有“请勿替换”标志和多个选项板的动画帧组合,可以“破解”GIF文件,使其具有超过256种颜色,但自从PNG出现以来,这种方法几乎被遗忘。

        11
  •  1
  •   foxxtrot    16 年前

    当然,如果你想要动画,GIF是唯一的选择,因为出于某种原因,MNG基本上是一个非初学者。

        12
  •  1
  •   Stewart    15 年前

    “这可能只是我正在使用的工具,但GIF文件通常看起来比可比较的PNG文件小一点,但使用它们似乎太简单了。”

    “这种现象背后有两个主要原因:比较苹果和橙子(即不比较相同的图像类型),以及使用不好的工具。” continued...

    当然,如果你想为你的网站标准化一种图形格式,PNG可能是最好的。

        13
  •  0
  •   Mitchel Sellers    16 年前

    就我个人而言,我经常使用gif的图像,因为它们在任何地方都可以使用,很明显,你的透明度限制是一个关键因素,它会引导人们使用特定的格式。

    我看不到使用gif的任何缺点。

        14
  •  0
  •   Hannes Ovrén    16 年前

        15
  •  0
  •   mrankin    16 年前

    由于gif文件不支持透明alpha通道(可能还有其他原因),因此gif文件将趋向于小一些。就我个人而言,我觉得尺寸差异真的不值得像过去那样担心。现在大多数人都在使用宽带上网,所以我怀疑他们是否会注意到不同。

    使用操作工具最适合的图像类型可能更重要。

    另外,我喜欢在任何背景上放置图像并进行阴影处理的能力,这使我更倾向于png格式。

        16
  •  0
  •   Matthew Rapati    16 年前

    由于尺寸的原因,我通常使用gif,但也有256色的png-8。

    我通常在photoshop中使用“保存为web”功能,它可以让你在保存之前随意处理文件类型、颜色数量等,并查看结果。当然,我会尽可能使用最小的,在我看来仍然很好。

        17
  •  -5
  •   neuroguy123    16 年前

    我对所有非透明图像使用jpg。你可以控制压缩,我喜欢。我发现 this