“JPG”/“JPEG”/“PNG”/“BMP”/“GIF”/“TIFF”图像有什么区别?

时间:2009-01-07 08:35:38

标签: image file-format

我见过许多类型的图片扩展,但从未理解它们之间的真正差异。有没有明确解释其差异的链接?

在选择要在应用程序中使用的特定类型的图像时是否需要考虑标准?我们将什么用于Web应用程序?

11 个答案:

答案 0 :(得分:85)

是。它们是不同的文件格式(及其文件扩展名)。

每种格式的维基百科条目都会为您提供相当多的信息:

  • JPEG(或JPG,文件扩展名;联合图像专家组)
  • PNG(可移植网络图形)
  • BMP(位图)
  • GIF(图形交换格式)
  • TIFF(或TIF,用于文件扩展名;标记图像文件格式)

图像格式可分为三大类:

  • 有损压缩,
  • 无损压缩,
  • 未压缩的,

未压缩格式占用的数据量最多,但它们是图像的精确表示。 BMP等位图格式通常是未压缩的,但也有压缩的BMP文件。

Lossy compression格式通常适用于照片。它不适用于插图,绘图和文字,因为压缩图像的compression artifacts会很突出。正如其名称所示,有损压缩不会对文件的所有信息进行编码,因此当它被恢复到图像中时,它将不是原始图像的精确表示。但是,与无损格式相比,它能够非常有效地压缩图像,因为它丢弃了某些信息。有损压缩格式的一个主要示例是JPEG。

Lossless compression格式适用于插图,绘图,文本和其他材料,这些材料在使用有损压缩进行压缩时效果不佳。顾名思义,无损压缩将对原始信息进行编码,因此当图像被解压缩时,它将是原始图像的精确表示。由于在无损压缩中没有信息丢失,因此在大多数情况下,它无法实现与有损压缩一样高的压缩。无损图像压缩的示例是PNG和GIF。 (GIF只允许8位图像。)

TIFF和BMP都是“包装”格式,因为内部数据可能取决于所使用的压缩技术。它可以包含压缩和未压缩的图像。

何时使用某种图像压缩格式实际上取决于正在压缩的内容。

相关问题:Ruthlessly compressing large images for the web

答案 1 :(得分:73)

您应该了解一些关键因素......

首先,有两种类型的压缩:LosslessLossy

无损意味着图像变小,但不会影响质量。 有损意味着图像变得更小(甚至更小),但却损害了质量。如果您一次又一次地以有损格式保存图像,图像质量会越来越差。

还有不同的颜色深度(调色板):Indexed colorDirect color

使用索引表示图片只能存储图片作者选择的有限数量的颜色(通常为256),直接表示您可存储数千种未被作者选择的颜色。


BMP - 无损/索引和直接

这是一种旧格式。它是无损的(保存时没有图像数据丢失),但也几乎没有压缩,这意味着保存为BMP导致非常大的文件大小。它可以包含Indexed和Direct的调色板,但这是一个小小的安慰。文件大小过大,以至于没有人真正使用过这种格式。

适合:真的没有。没有任何BMP擅长的东西,或者其他格式没有做得更好。

BMP vs GIF


GIF - 仅限无损/索引

GIF使用无损压缩,这意味着您可以反复保存图像,而不会丢失任何数据。文件大小远小于BMP,因为实际使用了良好的压缩,但它只能存储索引调色板。这意味着文件中最多只能有256种不同的颜色。这听起来很少,而且确实如此。

GIF图像也可以设置动画并具有透明度。

适合:标识,线条图和其他需要小的简单图像。只是真正用于网站。

GIF vs JPEG


JPEG - 有损/直接

JPEG图像旨在通过删除人眼不会注意到的信息,使详细的摄影图像尽可能小。因此,它是一种有损格式,并且反复保存相同的文件将导致更多数据随着时间的推移而丢失。它有数千种颜色的调色板,因此非常适合照片,但有损压缩意味着它对徽标和线条图不利:它们不仅看起来模糊,而且与GIF相比,这些图像的文件大小也更大!

适合:照片。此外,渐变。

JPEG vs GIF


PNG-8 - 无损/索引

PNG是一种较新的格式,而PNG-8(PNG的索引版本)确实是GIF的良好替代品。然而,遗憾的是,它有一些缺点:首先它不能像GIF那样支持动画(它可以,但只有Firefox似乎支持它,不像每个浏览器支持的GIF动画)。其次,它对IE6等旧浏览器有一些支持问题。第三,像Photoshop这样的重要软件的格式实现很差。 (该死的,Adobe!)PNG-8只能存储256种颜色,如GIF。

适合:PNG-8比GIF更好的主要因素是支持Alpha透明度。

PNG-8 vs GIF

重要提示: Photoshop不支持PNG-8文件的Alpha透明度。 (该死的,Photoshop!)有一些方法可以将Photoshop PNG-24转换为PNG-8文件,同时保留其透明度。一种方法是PNGQuant,另一种方法是使用Fireworks保存文件。


PNG-24 - 无损/直接

PNG-24是一种很好的格式,它将无损编码与直接色彩(数千种颜色,就像JPEG)相结合。在这方面它非常像BMP,除了PNG实际上压缩图像,因此它会产生更小的文件。不幸的是,PNG-24文件仍然比JPEG,GIF和PNG-8大得多,所以你仍然需要考虑是否真的想要使用它。

尽管PNG-24在压缩时允许数千种颜色,但它们并不是要取代JPEG图像。保存为PNG-24的照片可能比同等的JPEG图像大至少5倍,这对可见光质量的改善很小。 (当然,如果您不关心文件大小,并希望获得最佳质量的图像,这可能是一个理想的结果。)

就像PNG-8一样,PNG-24也支持alpha透明度。

我希望有所帮助!

答案 2 :(得分:27)

通常这些是:

无损压缩 无损压缩算法可以在不损失图像质量的情况下减小文件大小,但它们不会像压缩文件那样压缩成小文件。当图像质量的值高于文件大小时,通常会选择无损算法。

有损压缩 有损压缩算法利用人眼的固有限制并丢弃不可见信息。大多数有损压缩算法允许可变质量级别(压缩),并且随着这些级别的增加,文件大小也会减小。在最高压缩级别,图像劣化变得明显为“压缩伪像”。下面的图像展示了有损压缩算法的明显伪像;选择缩略图图像以查看完整尺寸版本。

每种格式如下所述不同:

JPEG 的 JPEG(联合图像专家组)文件(在大多数情况下)是有损格式; DOS文件扩展名是JPG(其他操作系统可能使用JPEG)。几乎每个数码相机都可以保存JPEG格式的图像,每种颜色支持8位(红色,绿色,蓝色),总共24位,产生相对较小的文件。如果不是太大,压缩不会明显降低图像的质量,但JPEG文件在重复编辑和保存时会遭受世代性的降级。如果要重新编辑摄影图像,或者如果小的“伪像”(由JPEG的压缩算法引起的瑕疵)是不可接受的,则摄影图像可以更好地存储在无损非JPEG格式中。 JPEG格式也可用作许多Adobe PDF文件中的图像压缩算法。

TIFF 的 TIFF(标记图像文件格式)是一种灵活的格式,通常使用TIFF或TIF文件名分别为24位和48位总计每种颜色(红色,绿色,蓝色)保存8位或16位。 TIFF的灵活性既有祝福又有诅咒,因为没有一个读者可以读取每种类型的TIFF文件。 TIFF是有损无损的;一些为双层(黑白)图像提供相对良好的无损压缩。一些数码相机可以使用LZW压缩算法进行无损存储,以TIFF格式保存。 Web浏览器不广泛支持TIFF图像格式。 TIFF仍被广泛接受为印刷业务中的照片文件标准。 TIFF可以处理特定于设备的颜色空间,例如由特定印刷机墨水定义的CMYK。

PNG 的 PNG(可移植网络图形)文件格式是作为GIF的免费开源继承者创建的。 PNG文件格式支持truecolor(1600万种颜色),而GIF仅支持256种颜色。当图像具有大而均匀着色的区域时,PNG文件表现优异。无损PNG格式最适合编辑图片,有损格式(如JPG)最适合最终分发摄影图像,因为JPG文件比PNG文件小。许多旧版浏览器目前不支持PNG文件格式,但是,对于Internet Explorer 7,所有当代Web浏览器都完全支持PNG格式。即使只传输了一小部分图像数据,Adam7隔行扫描也可以进行早期预览。

GIF 的 GIF(图形交换格式)仅限于8位调色板或256色。这使得GIF格式适合于存储具有相对较少颜色的图形,例如简单的图形,形状,徽标和卡通风格图像。 GIF格式支持动画,并且仍广泛用于提供图像动画效果。它还使用无损压缩,当大区域具有单一颜色时更有效,对于详细图像或抖动图像无效。

BMP 的 BMP文件格式(Windows位图)处理Microsoft Windows操作系统中的图形文件。通常,BMP文件是未压缩的,因此它们很大;优点是它们的简单性,广泛的接受性以及在Windows程序中的使用。

用于网页/网络应用程序

以下是将这些图像格式与网页/应用程序一起使用时的简要摘要。

  • PNG非常适合IE6及以上版本(需要一个小的CSS补丁来提高透明度)。非常适合插图和照片。
  • JPG非常适合在线拍照
  • 当您不想转移到PNG时,GIF适用于插图
  • BMP不应在网页中在线使用 - 浪费带宽


  • 来源:Image File Formats

    答案 3 :(得分:5)

    由于其他人已经涵盖了这些差异,我会达到目的。

    扫描仪通常使用TIFF。它生成了大量文件,并没有真正用于应用程序。

    BMP是未压缩的,也会生成大文件。它也没有真正用于应用程序。

    GIF过去一直在网络上,但已经失宠,因为它只支持有限数量的颜色并获得专利。

    JPG / JPEG主要用于任何照片质量,但不适用于文字。使用的有损压缩倾向于破坏尖锐的线条。

    PNG不像JPEG那么小,但是无损,所以它对于线条清晰的图像很有用。它现在在网上很常见。

    就个人而言,我经常在任何地方使用PNG。这是JPG和GIF之间的妥协。

    答案 4 :(得分:2)

    JPG>联合图像专家组

    1张JPG图像支持1600万种颜色,最适合照片和复杂图形

    2 JPG不支持透明度。

    PNG>便携式网络图形

    1当GIF技术受版权保护且需要使用许可时,它可用作GIF文件格式的替代品。

    2个PNG比GIF具有5到25%的压缩率,并且颜色范围更广。 PNG使用二维隔行扫描,这使得它们的加载速度是GIF图像的两倍。“

    3具有大量颜色或需要高级变量透明度的图像,PNG是首选文件类型。

    GIF>图形交换格式

    1将图像中的颜色数减少到256个。

    2个GIF也支持透明度。

    3个GIF具有显示图像序列的独特功能,类似于视频,称为动画GIF。

    4如果图像颜色较少且不需要任何高级Alpha透明效果,则可以使用GIF。

    SVG>可缩放矢量图形

    1 SVG是一种基于XML的Web标准,用于描述二维静态图像和动画。

    2 SVG允许您创建非常高质量的图形和动画,这些图形和动画在大小增加/减少时不会丢失细节。

    答案 5 :(得分:1)

    这些名称指的是对像素图像数据进行编码的不同方法(JPG和JPEG是相同的,TIFF可能只包含带有一些额外元数据的jpeg)。

    这些图像格式可能使用不同的压缩算法,不同的颜色表示,携带除图像本身以外的其他数据的不同功能,等等。

    对于Web应用程序,我会说jpeg或gif足够好。 Jpeg由于其较高的压缩比而被更频繁地使用,并且gif通常用于轻量级动画,其中闪光(或类似的东西)是过度杀戮,或者需要透明背景的地方。 PNG也可以使用,但我没有太多经验。 BMP和TIFF可能不适合Web应用程序。

    答案 6 :(得分:1)

    Coobird和Gerald说道。

    此外,JPEG是文件格式名称。 JPG是此格式的常用缩写文件扩展名,因为您需要为早期Windows系统提供3个字母的文件扩展名。与TIFF和TIF相同。

    目前,Web浏览器只显示JPEG,PNG和GIF文件 - 因此可以在网页上显示这些文件。

    答案 7 :(得分:1)

    PNG支持alphachannel透明度。

    TIFF可以有扩展选项I.e. Geo referencing申请GIS

    我建议只使用JPEG作为照片,永远不要用于剪贴画,徽标,文字,图表,艺术线条等图像。

    赞成PNG。

    答案 8 :(得分:1)

    命名的都是光栅图形,但除此之外不要忘记越来越重要的矢量图形。 有压缩和未压缩类型(或多或少),但它们都是无损的。最重要的是:

    答案 9 :(得分:0)

    文件扩展名告诉您图像的保存方式。其中一些格式只保存位,有些以不同方式压缩图像,包括无损和有损方法。网络可以告诉你,虽然我知道一些患者应答者会在这里概述它们。

    网络主要支持gif,jpg和png。 JPEG与jpg相同(或非常接近)。

    答案 10 :(得分:0)

    对于指定的差异和各种图像格式之间的用法已经在上面进行了很好的讨论。

    但是,我想为捕获图片和存储图片的整个过程添加一些内容。

    捕获过程

    或者你可以说构造过程(因为我们现在可以用计算机绘制或制作图片)。如果你用相机拍照,你已经使用了很多传感器(CCD或CMOS)和算法(拜耳模式滤波器,子采样和量化等)。还有像Pixel Format和{{ 1}}。获得基本像素信息后,必须有一种方法来存储它们。

    基本图像文件结构

    为了将像素信息存储到文件中,我们需要一个约定和相关的算法。为了节省空间,有压缩,但基本上问题是将像素编码为字节并将字节解码为像素以供显示。

    典型的图像文件可能由几个部分组成,基本上是两个部分:Color Spacemeta data or file headerpixel data section讲述了图片本身,可能是meta dataheightwidth等。file format是真实的pixel data section。使用section

    存储和显示

    如前所述,文件存储在硬盘中,以字节/位为单位。因此图像文件没有优先级,但实际上也是字节流。对于显示,也许我们应该知道监视器如何工作。典型的PC监视器使用RGB模型进行显示。

    希望这会有所帮助: - )