我见过许多类型的图像扩展,但从未理解它们之间的真正区别。是否有任何链接可以清楚地解释它们之间的差异?
在选择要在应用程序中使用的特定类型的图像时,是否有需要考虑的标准?我们在 Web 应用程序中使用什么?
我见过许多类型的图像扩展,但从未理解它们之间的真正区别。是否有任何链接可以清楚地解释它们之间的差异?
在选择要在应用程序中使用的特定类型的图像时,是否有需要考虑的标准?我们在 Web 应用程序中使用什么?
是的。它们是不同的文件格式(及其文件扩展名)。
每种格式的维基百科条目将为您提供大量信息:
图像格式可以分为三大类:
未压缩格式占用的数据量最多,但它们是图像的精确表示。BMP 等位图格式通常是未压缩的,但也有压缩的 BMP 文件。
有损压缩格式通常适用于照片。它不适合插图、绘图和文本,因为压缩图像的压缩伪影会很突出。有损压缩,顾名思义,不会对文件的所有信息进行编码,所以当恢复成图像时,它不会是原始图像的精确表示。但是,与无损格式相比,它能够非常有效地压缩图像,因为它会丢弃某些信息。有损压缩格式的一个主要示例是 JPEG。
无损压缩格式适用于插图、绘图、文本和其他在使用有损压缩时看起来不太好看的材料。顾名思义,无损压缩将对原始图像中的所有信息进行编码,因此当图像解压缩时,它将是原始图像的精确表示。由于无损压缩不会丢失信息,因此在大多数情况下,它无法达到有损压缩那么高的压缩率。无损图像压缩的示例是 PNG 和 GIF。(GIF 只允许 8 位图像。)
TIFF 和 BMP 都是“包装”格式,因为其中的数据可能取决于所使用的压缩技术。它可以包含压缩和未压缩的图像。
何时使用某种图像压缩格式实际上取决于压缩的内容。
相关问题:无情地为网络压缩大图像
你应该知道几个关键因素...
无损意味着图像变得更小,但不损害质量。有损意味着图像变得(甚至)更小,但会损害质量。如果您一遍又一遍地以有损格式保存图像,图像质量会越来越差。
使用索引意味着图像只能存储图像作者选择的有限数量的颜色(通常为 256 种),使用直接意味着您可以存储作者未选择的数千种颜色。
BMP - 无损/索引和直接
这是一种旧格式。它是无损的(保存时不会丢失图像数据),但也几乎没有压缩,这意味着保存为 BMP 会导致文件非常大。它可以有索引和直接的调色板,但这是一个小小的安慰。文件大小太大,以至于没有人真正使用过这种格式。
适合:真的没什么。BMP 没有什么擅长的,或者没有其他格式做得更好。
GIF - 无损/仅索引
GIF 使用无损压缩,这意味着您可以一遍又一遍地保存图像而不会丢失任何数据。文件大小比 BMP 小很多,因为实际使用了良好的压缩,但它只能存储索引调色板。这意味着文件中最多只能有 256 种不同的颜色。这听起来是一笔不小的数目,而且确实如此。
GIF 图像也可以是动画的并且具有透明度。
适用于:徽标、线条图和其他需要很小的简单图像。只真正用于网站。
JPEG - 有损/直接
JPEG 图像旨在通过删除人眼不会注意到的信息来使详细的照片图像尽可能小。因此,它是一种有损格式,并且一遍又一遍地保存同一个文件将导致更多数据随着时间的推移而丢失。它有数千种颜色的调色板,因此非常适合照片,但有损压缩意味着它对徽标和线条图不利:它们不仅看起来模糊,而且与 GIF 相比,此类图像的文件大小也会更大!
适合:照片。还有,渐变。
PNG-8 - 无损/索引
PNG 是一种较新的格式,PNG-8(PNG 的索引版本)确实是 GIF 的一个很好的替代品。然而,遗憾的是,它有一些缺点:首先它不能像 GIF 那样支持动画(它可以,但似乎只有 Firefox 支持它,不像每个浏览器都支持的 GIF 动画)。其次,它对 IE6 等较旧的浏览器存在一些支持问题。第三,像Photoshop这样的重要软件对格式的实现很差。(该死的,Adobe!)PNG-8 只能存储 256 种颜色,比如 GIF。
优点:PNG-8 比 GIF 做得更好的主要方面是支持 Alpha Transparency。
重要说明: 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 透明度。
我希望这会有所帮助!
通常这些是:
无损压缩 无损压缩算法在不损失图像质量的情况下减小文件大小,尽管它们不会像有损压缩文件那样压缩成小文件。当图像质量高于文件大小时,通常会选择无损算法。
有损压缩
有损压缩算法利用人眼的固有局限性,丢弃不可见的信息。大多数有损压缩算法允许可变质量级别(压缩),并且随着这些级别的增加,文件大小会减小。在最高压缩级别下,图像劣化作为“压缩伪影”变得明显。下图展示了有损压缩算法的明显伪影;选择缩略图以查看完整大小的版本。
每种格式都不同,如下所述:
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 是有损和无损的;有些为双层(黑白)图像提供了相对较好的无损压缩。一些数码相机可以保存为 TIFF 格式,使用 LZW 压缩算法进行无损存储。Web 浏览器不广泛支持 TIFF 图像格式。TIFF 仍然被广泛接受为印刷行业的照片文件标准。TIFF 可以处理特定于设备的颜色空间,例如由一组特定印刷机油墨定义的 CMYK。
PNG PNG(便携式网络图形)文件格式是作为 GIF 的免费、开源继承者而创建的。PNG 文件格式支持真彩色(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 程序中的使用。
用于网页/Web 应用程序
以下是在将它们与网页/应用程序一起使用时对这些图像格式的简要总结。
来源:图像文件格式
由于其他人已经涵盖了差异,因此我将使用它。
扫描仪通常使用 TIFF。它产生巨大的文件,并没有真正用于应用程序。
BMP 是未压缩的,也可以生成巨大的文件。它也没有真正用于应用程序。
GIF 曾经遍布网络,但由于它只支持有限数量的颜色并且已获得专利,因此已经失宠。
JPG/JPEG 主要用于任何具有照片质量的内容,但不用于文本。使用的有损压缩往往会损坏清晰的线条。
PNG 不像 JPEG 那样小,但它是无损的,因此它适用于线条清晰的图像。现在在网络上很常用。
就个人而言,我通常会在任何可能的地方使用 PNG。这是 JPG 和 GIF 之间的一个很好的折衷。
JPG > 联合摄影专家组
1 JPG 图像支持 1600 万色,最适合照片和复杂图形
2 JPG 不支持透明度。
PNG > 便携式网络图形
1 当 GIF 技术受版权保护且需要使用许可时,它被用作 GIF 文件格式的替代品。
2 PNG 的压缩率比 GIF 高 5% 到 25%,并且颜色范围更广。PNG 使用二维交错,这使得它们的加载速度是 GIF 图像的两倍。”</p>
3 具有多种颜色或需要高级可变透明度的图像,PNG 是首选文件类型。
GIF > 图形交换格式
1 将图像中的颜色数减少到 256。
2 GIF 也支持透明度。
3 GIF 具有显示一系列图像的独特能力,类似于视频,称为动画 GIF。
4 如果图像的颜色很少并且不需要任何高级的 alpha 透明效果,那么 GIF 是要走的路。
SVG > 可缩放矢量图形
1 SVG 是一种基于 XML 的 Web 标准,它在二维中描述静态图像和动画。
2 SVG 允许您创建质量非常高的图形和动画,它们不会随着尺寸的增加/减小而丢失细节。
这些名称指的是对像素图像数据进行编码的不同方式(JPG 和 JPEG 是同一种东西,TIFF 可能只是将 jpeg 与一些额外的元数据封装在一起)。
这些图像格式可能使用不同的压缩算法、不同的颜色表示、携带图像本身以外的附加数据的不同能力等等。
对于 Web 应用程序,我会说 jpeg 或 gif 就足够了。Jpeg 因其较高的压缩比而被更频繁地使用,而 gif 通常用于轻量级动画,其中闪光灯(或类似的东西)是一种过度杀戮,或者需要透明背景的地方。PNG也可以使用,但我没有太多经验。BMP 和 TIFF 可能不适合 Web 应用程序。
coobird 和 Gerald 说了什么。
此外,JPEG 是文件格式名称。JPG 是这种格式常用的缩写文件扩展名,因为您需要为早期的 Windows 系统提供 3 个字母的文件扩展名。TIFF 和 TIF 也是如此。
目前的 Web 浏览器只显示 JPEG、PNG 和 GIF 文件——所以这些是可以在网页上显示的文件。
文件扩展名告诉您如何保存图像。其中一些格式只是按原样保存位,一些以不同的方式压缩图像,包括无损和有损方法。网络可以告诉你,虽然我知道一些病人响应者会在这里概述它们。
网络主要支持 gif、jpg 和 png。JPEG 与 jpg 相同(或非常接近)。
对于不同图像格式之间的指定差异和用法,上面已经进行了很好的讨论。
但是,我想为捕获图片和存储它们的整个过程添加一些内容。
或者你可以说构建过程(因为我们现在可以用计算机绘制或制作图片)。如果你用相机拍照,你已经在使用很多传感器(CCD 或 CMOS)和算法(拜耳模式过滤器、二次采样和量化等)。还有像Pixel Format
和之类的东西Color Space
。得到基本的像素信息后,肯定有办法存储它们。
为了将像素信息存储到文件中,我们需要一个约定和相关算法。为了节省空间,有压缩,但基本上问题是将像素编码为字节并将字节解码为像素以进行显示。
一个典型的图像文件可能由几个部分组成,基本上是两个:meta data or file header
和pixel data section
. meta data
讲述了图像本身,可能是height
and width
,file format
等。而 thepixel data section
是真实section
的处理real picture
.
正如我们之前所说,文件存储在硬盘中,以字节/位为单位。所以图像文件没有优先级,但实际上还有字节流。对于显示,也许我们应该了解一下监视器是如何工作的。典型的 PC 显示器使用 RGB 模型进行显示。
希望这可以帮助:-)