我见过许多类型的图像扩展名,但从未理解它们之间的真正区别。是否有任何链接可以清楚地解释它们之间的差异?
选择在应用程序中使用的特定图像类型时,是否需要考虑标准?我们对Web应用程序使用什么?
我见过许多类型的图像扩展名,但从未理解它们之间的真正区别。是否有任何链接可以清楚地解释它们之间的差异?
选择在应用程序中使用的特定图像类型时,是否需要考虑标准?我们对Web应用程序使用什么?
Answers:
是。它们是不同的文件格式(及其文件扩展名)。
每种格式的Wikipedia条目都会为您提供很多信息:
图像格式可以分为三大类:
未压缩的格式会占用最多的数据量,但它们是图像的精确表示。虽然也有压缩的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 Transparency。(该死,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有损和无损;有些为双级(黑白)图像提供了相对较好的无损压缩。某些数码相机可以使用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 OS中的图形文件。通常,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图像的两倍。”
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应用程序的理想选择。
对于不同图像格式之间的指定差异和用法,上面已经进行了很好的讨论。
但是,我想为捕获图片并存储它们的整个过程添加一些内容。
或者您可以说构造过程(因为我们现在可以使用计算机绘制或制作图片)。如果您使用相机拍摄照片,则已经在使用许多传感器(CCD或CMOS)和算法(拜耳模式滤波器,子采样和量化等)。还有诸如Pixel Format
和的东西Color Space
。在获得基本像素信息之后,必须有一种存储它们的方法。
为了存储像素信息文件,我们需要一个约定和相关算法。为了节省空间,需要进行压缩,但是基本上存在的问题是将像素编码为字节,然后将字节解码为像素以进行显示。
典型的图像文件可能由几部分组成,基本上分为两部分:meta data or file header
和pixel data section
。在meta data
讲述了图像本身,也许height
和width
,file format
等等。而且pixel data section
是真正的section
谁与交易real picture
。
如前所述,文件存储在硬盘中,以字节/位为单位。因此,图像文件没有优先级,但实际上还有字节流。对于显示,也许我们应该了解监视器的工作原理。典型的PC监视器使用RGB模型进行显示。
希望这可以帮助:-)