精华内容
下载资源
问答
  • 常见图片文件格式

    2019-10-20 08:53:42
    PSD(Photoshop document)Photoshop的默认文档格式,支持图层、通道、路径等Photoshop所有的特性。可以存储为RGB或CMYK模式,还能够...
        

    640?wx_fmt=jpeg

    PSD(Photoshop document)
    Photoshop的默认文档格式,支持图层、通道、路径等Photoshop所有的特性。可以存储为RGB或CMYK模式,还能够自定义颜色数并加以存储,是目前惟一能够支持全部图像色彩模式的格式。体积相对较为庞大。

    TIFF or TIF(Tagged Image File Format)
    支持跨平台的应用软件。占用存储空间大(是GIF图像的3倍,是相应JPEG图像的10倍),相比PSD略有缩小(支持压缩)。TIFF支持多种颜色模式和Alpha通道。可以用Photoshop打开一个包含图层的TIFF文件。

    JPEG(Joint Photographic Experts Group)
    在Web上最流行的有损压缩图像lossy compression,支持最高级别的压缩,可高达100:1,可以提高或降低压缩级别,但文件大小是以牺牲图像质量为代价。是以24位颜色存储单个光栅图像。不能存储Alpha通道,也不支持透明;渐近式JPEG文件支持交错。

    PNG(Portable Network Graphics)
    一种位图文件,广泛用于UI设计中。PNG灰度图像的深度可多到16位,彩色图像的深度可多到48位,支持16位的Alpha通道,并且是压缩比高的无损压缩图像。
    Photoshop CC 2018版以后对保存为PNG文件进行了优化,故保存为PNG文件再共享到朋友圈应该成为趋势

    GIF(Graphic Interchange Format)
    分为静态GIF和动态GIF两种,是一种压缩索引颜色(256色)图像,尺寸小,适合于做LOGO或插图,支持透明,也是网络上非常流行的格式。

    PSB(Large Document Format)
    大型文件格式,支持PSD所有功能,并支持高或宽达3千万像素或1G以上超大文件。

    DNG(Digital Nagative)
    数字负片,是一种用于数码相机生成的原始数据文件的公共存档格式,解决了不同型号相机的原始数据文件之间缺乏开放式标准的问题。

    EPS(Encapsulated PostScript)
    可同时包含矢量和像素数据,是PostScript格式的一个子集。EPS支持大多数的颜色模式,支持剪贴路径(常用来去除背景);不支持Alpha通道。

    DCS(Desktop Color Separation)
    EPS衍生的另外一个格式是DCS,DCS2.0支持专色通道,但只支持在CMYK和多通道模式下存储为DCS格式;DCS格式支持剪贴路径,剪贴路径内的图像可在转入到排版软件中时显示出来,而剪贴路径外的图像则是透明的。

    Photoshop PDF(Portable Document Format)
    便携文档格式,是一种电子文件格式。Photoshop PDF格式文件保留了许多可在Photoshop中编辑的特点,如矢量对象、文本和图层等,支持大部分的色彩空间;Generic PDF格式是使用Acrobat或Illustrator软件创建的,Photoshop打开此类PDF文件时会栅格化图像。

    BMP
    是DOS和Windows平台上常用的一种标准图像格式,支持RGB等模式,不支持Alpha通道。

    展开全文
  • 几种常见图片文件格式的优缺点

    千次阅读 2017-11-15 19:40:51
    本文主要介绍和比较几种常见图片文件格式的优缺点。 1.有损vs无损 图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。 有损压缩。指在压缩文件大小的过程中,损失...

    本文主要介绍和比较几种常见图片文件格式的优缺点。
    1.有损vs无损
    图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。
    有损压缩。指在压缩文件大小的过程中,损失了一部分图片的信息,也即降低了图片的质量,并且这种损失是不可逆的,我们不可能从有一个有损压缩过的图片中恢复出全来的图片。常见的有损压缩手段,是按照一定的算法将临近的像素点进行合并。
    无损压缩。只在压缩文件大小的过程中,图片的质量没有任何损耗。我们任何时候都可以从无损压缩过的图片中恢复出原来的信息。
    2.BMP
    BitMap的缩写,是无损的、既支持索引色也支持直接色的、点阵图。
    这是一种比较老的图片格式。BMP是无损的,但同时这种图片格式几乎没有对数据进行压缩,所以BMP格式的图片通常具有较大的文件大小。虽然同时支持索引色和直接色是一个优点,但是太大的文件格式格式导致它几乎没有用武之地,现在除了在Windows操作系统中还比较常见之外,我们几乎看不到它。
    3.GIF
    全称Graphics Interchange Format,采用LZW压缩算法进行编码。是无损的、采用索引色的、点阵图。
    GIF是无损的,采用GIF格式保存图片不会降低图片质量。但得益于数据的压缩,GIF格式的图片,其文件大小要远小于BMP格式的图片。文件小,是GIF格式的优点,同时,GIF格式还具有支持动画以及透明的优点。但,GIF格式仅支持8bit的索引色,即在整个图片中,只能存在256种不同的颜色。
    GIF格式适用于对色彩要求不高同时需要文件体积较小的场景,比如企业Logo、线框类的图等。因其体积小的特点,现在GIF被广泛的应用在各类网站中。
    4.JPEG
    JPEG是有损的、采用直接色的、点阵图。
    JPEG图片格式的设计目标,是在不影响人类可分辨的图片质量的前提下,尽可能的压缩文件大小。这意味着JPEG去掉了一部分图片的原始信息,也即是进行了有损压缩。JPEG的图片的优点,是采用了直接色,得益于更丰富的色彩,JPEG非常适合用来存储照片,用来表达更生动的图像效果,比如颜色渐变。
    与GIF相比,JPEG不适合用来存储企业Logo、线框类的图。因为有损压缩会导致图片模糊,而直接色的选用,又会导致图片文件较GIF更大。
    这里写图片描述

    总结:简单粗暴地说,小图标,用BMP储存最好。jpg适用于摄影图片,以及色彩丰富的图片。它采用压缩算法,会对图片上每8px*8px的像素进行处理,通过强制渐变的方法来减小文件尺寸,因此无论选择的储存质量多高,还是会多多少少失真一些,但对于摄影之类的图片来说,jpg格式就会比png小很多了。GIF一般用于类似小视频的图片。

    展开全文
  • 常见”:此处指BMP JPEG GIF PNG 四种。 软件: Windows 画图(除了Photoshop,我最喜欢的编辑器,简单...提供文件格式、大小等信息。 位图信息头(bitmapinformation):40Byte。提供图像数据的尺寸、位...

    “常见”:此处指BMP JPEG GIF PNG 四种。

     

    软件:

    Windows 画图(除了Photoshop,我最喜欢的编辑器,简单粗暴)

    HxD

     

     

    BMP

    BMP文件分为4部分:

    bmp文件头(bmp file header):14Byte。提供文件的格式、大小等信息 。

    位图信息头(bitmap information):40Byte。提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息 。

    调色板(color palette):大小由颜色索引数决定。可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表 。

    位图数据(bitmap data):大小由图像尺寸决定。图像数据。

     

    存储数据时,一个地址存储一字节。如果一个数据需要用多个字节表示,就要跨地址,那么存储该数据的顺序就分为两种:高地址存储高位数据,低地址存储低位数据(小端方式,Little Endian,利于计算机处理);高地址存储低位数据,低地址存储高位数据(大端方式,Big Endian,和人类一般思维类似)。BMP文件采用小端方式,高地址存储高位数据,低地址存储低位数据。甩两个链接:

    http://blog.csdn.net/hackbuteer1/article/details/7722667

    http://www.cnblogs.com/TsuiLei/archive/2008/10/29/1322504.html

     

    文件头:

    变量名

    地址偏移

    大小

    作用

    bfType

    0000h

    2 Bytes

    文件类型,

    BM:Windows 3.1x,95,NT

    BA,CI,CP,IC,PT:与 OS/2有关

    bfSize

    0002h

    4 Bytes

    文件大小,单位Byte

    bfReserved1

    0006h

    2 Bytes

    保留,必须为0

    bfReserved2

    0008h

    2 Bytes

    保留,必须为0

    bfOffBits

    000Ah

    4 Bytes

    从文件头到位图数据的偏移量(Byte)。由于调色板有无、长度不同,用于迅速从文件定位到位图数据。

     

    以下,0d**** 为十进制(decimal),0x****十六进制(hexadecimal)。两个16进制数可以写成8位2进制数,因此是1 Byte。

    对于本图,

    42 4D :BM,Windows位图

    36 DB 01 00:小端方式,= 0x0001DB36 =0d121654(Byte) = 118 KiB。与查看一致。(大小: 118KB(121,654字节) )

    第一行的 06 到 09 ,4 Byte的00:两个保留位。

    接下来 : 36 00 00 00,表示偏移 0x36 = 0d54字节。定位过去是 0036h 位置的17

     

    位图信息头:

    位图信息图说明:

    这个位图信息头的大小为40个字节。位图信息头一般有40个字节,既然是这样,为什么这里还要给一个字段来说明呢?这里涉及到一些历史,其实位图信息头原本有很多大小的版本的。

     

    调色板

    甩个链接: http://blog.csdn.net/qsycn/article/details/7801145

    调色板(color table)是单色、16色和256色图像文件所特有的,相对应的调色板大小是2、16和256,调色板以4字节为单位,每4个字节存放一个颜色值,图像的数据是指向调色板的索引。

    字  段  名

    大小(单位:字节)

    描    述

    rgbBlue

    1

    蓝色值

    rgbGreen

    1

    绿色值

    rgbRed

    1

    红色值

    rgbReserved

    1

    保留,总为0

     

    如果图像是单色、16色和256色,则紧跟着调色板的是位图数据,位图数据是指向调色板的索引序号。

     

    但是:

          如果位图是16位、24位和32位色,则图像文件中不保留调色板,即不存在调色板,图像的颜色直接在位图数据中给出。

          16位图像使用2字节保存颜色值,常见有两种格式:5位红5位绿5位蓝和5位红6位绿5位蓝,即555格式和565格式。555格式只使用了15位,最后一位保留,设为0。

          24位图像使用3字节保存颜色值,每一个字节代表一种颜色,按红、绿、蓝排列。

          32位图像使用4字节保存颜色值,每一个字节代表一种颜色,除了原来的红、绿、蓝,还有Alpha通道,即透明色。

          如果图像带有调色板,则位图数据可以根据需要选择压缩与不压缩,如果选择压缩,则根据BMP图像是16色或256色,采用RLE4或RLE8压缩算法压缩。

     

    位图数据

    位图信息头中,大多数BMP文件的biHeight为正数,表示图像是倒像位图。所以位图数据在文件中的排列顺序是从左下角到右上角,以行为主序排列。

    24位RGB按照BGR的顺序来存储每个像素的各颜色通道的值,一个像素的所有颜色分量值都存完后才存下一个下一个像素,不进行交织存储。 

    32位数据按照BGRA的顺序存储,其余与24位位图的方式一样。A是透明色,Alpha通道。

    数据的对齐规则:

    Windows默认的扫描的最小单位是4字节,如果数据对齐满足这个值的话对于数据的获取速度等都是有很大的增益的。因此,BMP图像顺应了这个要求,要求每行的数据的长度必须是4的倍数,如果不够需要进行比特填充(以0填充),这样可以达到按行的快速存取。这时,位图数据区的大小就未必是 图片宽×每像素字节数×图片高 能表示的了,因为每行可能还需要进行比特填充。

     

    最后甩个详细链接:

    http://wenku.baidu.com/link?url=wI_UlD_9vezTJ-t7a-uBE9IS_tHPszEByGExCJ5QpnQ2wfjmFbMtee3MdczFDW5GSq60Od3Y-8NMikH68V2zNRrdXznOv7nFJS-jPRgqfPy#39124-qzone-1-24262-f00cdc7f4857236c67481f200187bab5

     

    JPEG

    JPEG(发音为jay-peg, IPA:[ˈdʒeɪpɛg])是一种针对相片图像而广泛使用的一种有损压缩标准方法。这个名称代表Joint Photographic Experts Group(联合图像专家小组)。

    JPEG图像存储格式一个比较成熟的图像有损压缩格式,虽然一个图片经过转化为JPEG图像后,一些数据会丢失,但是,人眼是很不容易分辨出来这种差别的。也就是说,JPEG图像存储格式既满足了人眼对色彩和分辨率的要求,又适当的去除了图像中很难被人眼所分辨出的色彩,在图像的清晰与大小中JPEG找到了一个很好的平衡点。

    JPEG的图片使用的是YCrCb颜色模型,而不是计算机上最常用的RGB.关于色彩模型,这里不多阐述.只是说明,YCrCb模型更适合图形压缩.因为人眼对图片上的亮度Y的变化远比色度C的变化敏感.我们完全可以每个点保存一个8bit的亮度值,每2x2个点保存一个Cr Cb值,而图象在肉眼中的感觉不会起太大的变化。

    JPEG文件中的字节是按照大端方式排列的,高地址存储低位数据,低地址存储高位数据。见前文。

    关于有损压缩的原理,涉及高等数学原理,甩一个链接:http://zh.wikipedia.org/zh-cn/JPEG

    由于早期操作系统只支持3个字符扩展名,因此 .JPG 广泛沿用至今。

    一个由C-Cube Microsystems等公司所创建的额外标准,称为JFIF(JPEG File Interchange Format,JPEG文件交换格式)详细说明如何从一个JPEG流,产出一个适合于电脑存储和传输(像是在互联网上)的文件。在普遍的用法,当有人称呼一个"JPEG文件",一般而言他是意指一个JFIF文件,或有时候是一个Exif JPEG文件。然而,也有其他以JPEG为基础的文件格式,像是JNG。

    JFIF的文件结构:

    甩一个链接:http://baike.baidu.com/view/1326314.htm?fr=aladdin#3

    JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上JPEG文件交换格式标准。JPEG的每个标记都是由2个字节组成,其前一个字节是固定值0xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个标记:

    SOI 0xD8  图像开始

    APP0 0xE0  JFIF应用数据块

    APPn 0xE1 - 0xEF  其他的应用数据块(n, 1~15)

    DQT 0xDB  量化表

    SOF0 0xC0  帧开始

    DHT 0xC4  霍夫曼(Huffman)表

    SOS 0xDA  扫描线开始

    EOI 0xD9  图像结束

     

    图像开始

    SOI(Start of Image)标记 0h 2Byte 0xFFD8

     

    APP0标记(Marker)

    0h 2字节 0xFFE0

    ① APP0长度(length)(①~⑨九个字段的总长度)

    2h 2字节内容不定(①~⑨九个字段的总长度)

    ② 标识符(identifier)

    4h 5字节 0x4A46494600 即“JFIF0”

    ③ 版本号(version)

    9h 2字节 0x0102 JFIF的版本号目前基本上都是1.2

    ④ X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)

    bh 1字节只有0,1,2三个值可选,其分别代表的意义如上]

    ⑤ X方向像素密度(X density)

    ch 2字节取值范围未知

    ⑥ Y方向像素密度(Y density)

    eh 2字节取值范围未知

    ⑦ 缩略图水平像素数目(thumbnail horizontal pixels)

    10h 1字节取值范围未知

    ⑧ 缩略图垂直像素数目(thumbnail vertical pixels)

    11h 1字节取值范围未知

    ⑨ 缩略图RGB位图(thumbnail RGB bitmap)

    12h 长度可能是3的倍数内容不定

    本段(APP0)可以包含图像的一个微缩版本,存为24位的RGB像素。如果没有微缩图像(这种情况更常见),则⑦“缩略图水平像素数目”和⑧“缩略图垂直像素数目”的值均为0。

    APPn标记(Markers)

    ① APPn长度(length)(①②两个字段的总长度)

    ② 详细信息(application specific information)

    对每个APP:

    若为APPN(N=1~F(以16进制表示,N任选其中一个))

    · 标记: mh 2字节 0xFFEN

    · 长度:(m+2)h 2字节内容不定(设为n(10进制))(本字段与下一字段的总长度)

    · 详细信息: (m+4)h n-2字节(即长度减2)内容不定

    一个或者多个量化表DQT

    DQT(Difine Quantization Table)

    0h 2字节 0xFFDB

    ① 量化表长度(quantization table length)(①~②两个字段的总长度)

    2h 2字节内容不定(①~②两个字段的总长度)

    ② 量化表(quantization table)

    A. P/T(高四位:精度,低四位:表ID)

    B. 表项

    对每个量化表:

    · P/T(高四位:精度,低四位:表ID) mh 1字节精度, 0 表示 8 bit, 1表示 16 bit;ID取值范围为0~3, 否则错误

    · 表项 (m+1)h (64×(精度+1))字节内容长,故略

    (5) 帧图像开始SOF0(Start of Frame)

    0h 2字节 0xFFC0

    ① 帧开始长度(start of frame length) (①~⑥六个字段的总长度)

    2h 2字节内容不定(①~⑥六个字段的总长度)

    ② 精度(precision),每个颜色分量每个像素的位数(bits per pixel per color component)

    4h 1字节每个样本位数, 通常是 8 (大多数软件不支持 12 和 16)

    ③ 图像高度(image height) 5h 2字节内容不定(如果不支持 DNL 就必须 >0)

    ④ 图像宽度(image width) 7h 2字节内容不定(如果不支持 DNL 就必须 >0)

    ⑤ 颜色分量数(number of color components)

    9h 1字节内容不定(灰度图是 1, YCbCr/YIQ 彩色图是 3, CMYK 彩色图是 4,我们这里讨论的JFIF使用的是YCbCr,故这里颜色分量数为3)

    ⑥ 对每个颜色分量(for each component)

    A. ID

    B. 垂直方向的样本因子(vertical sample factor)

    C. 水平方向的样本因子(horizontal sample factor) B、C共占用1字节,B占用低4位,C占用高4位)

    D. 量化表号(quantization table#)

    JFIF格式使用的是YCbCr所以有3个分量(这里特别要注意的是颜色分量的ID号是有含义的,1代表Y,2代表Cb,3代表Cr,4代表I,5代表Q):

    1) ID

    ah 1字节 0x01

    (高四位)水平(低四位)垂直样本因子

    bh 共1字节 0x227

    量化表号

    ch 1字节内容不定(本分量使用的量化表的ID号)

    2) ID

    dh 1字节 0x02

    (高四位)水平(低四位)垂直样本因子

    eh 共1字节 0x11J

    量化表号

    fh 1字节内容不定(本分量使用的量化表的ID号)

    3) ID

    10h 1字节 0x03

    (高四位)水平(低四位)垂直样本因子

    11h 共1字节 0x11

    量化表号

    12h 1字节内容不定(本分量使用的量化表的ID号)

    一个或者多个霍夫曼表DHT

    DHT (Difine Huffman Table)

    0h 2字节 0xFFC4

    ① 霍夫曼表的长度(Huffman table length) (①~②两个字段的总长度)

    2h 2字节内容不定(①~②两个字段的总长度)

    ② 对每个霍夫曼表(一般情况下,霍夫曼表不止一个,但是绝对不多于4个)

    A. 表号

    B. 类型:AC或者DC(其中0:DC表,1:AC表);A、B共占用1字节,A占用低4位,B占用高4位)

    C. 长16个字节的编码,其代码代数和为接下来的编码的长度

    D. 内容编码

    对每个霍夫曼表:

    ·(高四位)类型和(低四位)表号: mh 共1字节内容不定(有四个可能:0x00表示第0个DC表,0x01表示第1个DC表,0x10表示第0个AC表,0x11表示第1个AC表)

    · 长16个字节的编码: (m+1)h 16字节内容不定(设这16个字节上数据之和为n)

    · 内容编码: (m+17)h n字节内容长,故略)

    定义重新开始间隔DRI

    DRI (Define Restart Interval)

    (在没有DRI标记,或间隔为零时,就不存在重新开始间隔和重开始标记)

    0h 2字节 0xFFDD

    ① 长度 2h 2字节 0x0004(①~②两个字段的总长度)

    ② MCU 块的单元中的重新开始间隔

    4h 2字节内容不定(设为n,则意思是说,每n个MCU块就有一个RSTn标记。第一个标记是RST0,然后是RST1等,RST7后再从RST0重复)

    扫描开始SOS

    SOS(Start of Scan)

    0h 2字节 0xFFDA

    ① 扫描开始长度(start of scan length)

    2h 2字节内容不定(①~③再加上④的A\B\C的总长度)

    ② 颜色分量数(number of color components)

    4h 1字节应该和⑸⑤的值相同(灰度图是1, YCbCr/YIQ 彩色图是3, CMYK 彩色图是4)

    ③ 每个颜色分量

    A. ID

    B. 交流系数表号(AC table #)

    C. 直流系数表号(DC table #)

    (B、C共占用1字节,B:占用低4位,C:占用高4位)

    由②得到这里的颜色分量数为3(这里的颜色分量的ID号的含义和⑸⑥的一样,1代表Y,2代表Cb,3代表Cr,4代表I,5代表Q):

    1) ID

    5h 1字节 0x01 (高四位)直流(低四位)交流数表号

    6h 共1字节 0x00

    2) ID

    7h 1字节 0x027 (高四位)直流(低四位)交流数表号

    8h 共1字节 0x11

    3) ID

    9h 1字节 0x03 (高四位)直流(低四位)交流数表号

    ah 共1字节 0x11

    ④ 压缩图像数据(compressed image data)

    A. 谱选择开始 bh 1字节 0x00

    B. 谱选择结束 ch 1字节 0x3F

    C. 两个4位字段,高位和低位的谱选择 dh 1字节在基本JPEG中总为0x00

    D. 数据 eh 长度不定内容长,故略

    图像结束EOI

    EOI (End of Image)

    0h 2字节 0xFFD9

     

    GIF

    GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。

    图像互换格式主要分为两个版本,即图像互换格式87a和图像互换格式89a。

    图像互换格式87a:是在1987年制定的版本。

    图像互换格式89a:是在1989年制定的版本。在这个版本中,为图像互换格式文档扩充了图形控制区块、备注、说明、应用程序接口等四个区块,并提供了对透明色和多帧动画的支持。

    特点:

    优秀的压缩算法使其在一定程度上保证图像质量的同时将体积变得很小。

    可插入多帧,从而实现动画效果。

    可设置透明色以产生对象浮现于背景之上的效果。

    由于采用了8位元压缩,最多只能处理256种颜色,故不宜应用于真彩色圖片。

     

    Header 

    GIF 文件头

     

    Logical Screen Descriptor   

    逻辑屏幕描述块   

     

     Global Color Table   

    全局彩色表    

     

     „ 扩展模块(任选) „     

     

     

       Image Descriptor  

     图形描述块 

     

       Local Color Table  

     局部彩色表(可重复n次) 

    Table Based Image Data   

    表式压缩图像数据  

     Graphic Control Extension 

      图像控制扩展块 

     Plain Text Extension   

    无格式文本扩展块 

    n

     Comment Extension   

    注释扩展块 

     Applicaton Extension   

    应用程序扩展块     

     

    „ 扩展模块(任选) „  

       

     

      GIF Trailer 

    GIF文件结束块 

     

     

    由上表可知,一个GIF文件的结构可分 为文件头(File Header)、GIF数据流(GIF Data Stream)和文件终结器(Trailer)三个部分。文件头包含GIF文件署名(Signature)和版本号(Version);GIF数据流由控 制标识符、图象块(Image Block)和其他的一些扩展块组成;文件终结器只有一个值为0x3B的字符(';')表示文件结束。

     

    GIF文件头:(6个字节)

    标识符(3字节) ---GIF

    版本(3字节) ---87a (or 89a)

     

    GIF数据流:

    甩一个链接:http://wenku.baidu.com/view/2c0feaa6f524ccbff121841d.html

     

    GIF文件结束块:

    结束块(GIF Trailer)表示GIF文件的结尾,它包含一个固定的数值:0x3B。

     

    PNG

    便携式网络图形(Portable Network Graphics,PNG)是一种无损压缩的位图图形格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。PNG的开发目标是改善并取代GIF作为适合网络传输的格式而不需专利许可,所以被广泛应用于互联网及其他方面上。

    PNG另一个非正式的名称来源为递归缩写:“PNG is Not GIF”。

     

    特点:

    支持256色调色板技术以产生小体积文件

    最高支持48位真彩色图像以及16位灰度图像。

    支持Alpha通道的透明/半透明特性。

    支持图像亮度的Gamma校准信息。

    支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。

    使用无损压缩。

    渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。

    使用CRC防止文件出错。

    最新的PNG标准允许在一个文件内存储多幅图像。

     

    关于PNG格式,甩一个链接 http://dev.gameres.com/Program/Visual/Other/PNGFormat.htm

    PNG格式有8位、24位、32位三种形式,其中8位PNG支持两种不同的透明形式(索引透明和alpha透明),24位PNG不支持透明,32位PNG在24位基础上增加了8位透明通道,因此可展现256级透明程度。

    PNG8和PNG24后面的数字则是代表这种PNG格式最多可以索引和存储的颜色值。”8″代表2的8次方也就是256色,而24则代表2的24次方大概有1600多万色。

    格式

    最高支持色彩通道

    索引色编辑支持

    透明支持

    PNG8

    256索引色

    支持

    支持设定特定索引色为透明色(布尔透明)

    支持为索引色附加8位透明度(256阶alpha透明)

    PNG24

    约1600万色

    不支持

    不支持

    PNG32

    约1600万色

    不支持

    支持8位透明度(256阶alpha透明)

     

    PNG图像格式文件由一个8字节的PNG文件标识(file signature)域和3个以上的后续数据块(chunk)组成。

    甩一个链接:http://baike.baidu.com/view/5342.htm?fr=aladdin#3

     

    PNG文件包括8字节文件署名(89 50 4E 47 0D 0A 1A 0A,十六进制),用来识别PNG格式。

    十六进制

    含义

    89

    用于检测传输系统是否支持8位的字符编码(8 bit data),用以减少将文本文件被错误的识别成PNG文件的机会,反之亦然。

    50 4E 47

    PNG每个字母对应的ASCII,让用户可以使用文本编辑器查看时,识别出是PNG文件。

    0D 0A

    DOS风格的换行符(CRLF)。用于DOS-Unix数据的换行符转换。

    1A

    在DOS命令行下,用于阻止文件显示的文件结束符。

    0A

    Unix风格的换行符(LF)。用于Unix-DOS换行符的转换。

     

    PNG定义了两种类型的数据块,一种是称为关键数据块(critical chunk),这是标准的数据块,另一种叫做辅助数据块(ancillary chunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。虽然PNG文件规范没有要求PNG编译码器对可选数据块进行编码和译码,但规范提倡支持可选数据块。

    每个数据块都由表6-07所示的的4个域组成:

    名称

    字节数  

    说明  

    Length(长度)

    4字节  

    指定数据块中数据域的长度,其长度不超过

    (231-1)字节

    Chunk Type Code(数据块类型码)

    4字节

    数据块类型码由ASCII字母(A-Z和a-z)组成

    Chunk Data(数据块数据)

    可变长度

    存储按照Chunk Type Code指定的数据

    CRC(循环冗余检测)

    4字节

    存储用来检测是否有错误的循环冗余码

    长度.

    一个4字节的无符号整数,给出字节的数据块的数据字段的数量。 长度计算数据字段,为了兼容一些不支持无符号的语言,所以不是(2^32-1)。

    数据块类型码.

    一个4字节的块类型代码。 为了便于描述和检查PNG文件,类型代码仅限于包括大写和小写的ASCII字母(A - Z和a - z或65-90和97-122十进制)。 然而,编码器和解码器必须把代码作为固定的二进制值,而不是字符串。

    数据块.

    数据块的数据字节,以适当的组块的类型,如果有的话。 该字段可以是长度为零。

    循环冗余检测.

    一个4字节的CRC(循环冗余校验)计算,在所述块的前面的字节,包括该块类型的代码和数据块的数据字段,但是包括长度字段。 CRC是始终存在,甚至不包含数据块。

     

    IEND

    图像结束数据IEND(image trailer chunk):它用来标记PNG文件或者数据流已经结束,并且必须要放在文件的尾部。

    如果我们仔细观察PNG文件,我们会发现,文件的结尾12个字符看起来总应该是这样的:

    00 00 00 00 49 45 4E 44 AE 42 60 82

    不难明白,由于数据块结构的定义,IEND数据块的长度总是0(00 00 00 00,除非人为加入信息),数据标识总是IEND(49 45 4E 44),因此,CRC码也总是AE 42 60 82。



    文章出处:博客园http://www.cnblogs.com/go2bed/
    本文采用 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议 进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

    展开全文
  • 本文介绍和比较几种常见图片文件格式的优缺点,并介绍不同的文件格式对Web应用程序性能的影响。 有损vs无损 图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损...
    作者:赵鑫
    链接:https://www.zhihu.com/question/20028452/answer/142593276
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    本文介绍和比较几种常见图片文件格式的优缺点,并介绍不同的文件格式对Web应用程序性能的影响。

    有损vs无损

    图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。

    • 有损压缩。指在压缩文件大小的过程中,损失了一部分图片的信息,也即降低了图片的质量,并且这种损失是不可逆的,我们不可能从有一个有损压缩过的图片中恢复出全来的图片。常见的有损压缩手段,是按照一定的算法将临近的像素点进行合并。
    • 无损压缩。只在压缩文件大小的过程中,图片的质量没有任何损耗。我们任何时候都可以从无损压缩过的图片中恢复出原来的信息。

    索引色vs直接色

    计算机在表示颜色的时候,有两种形式,一种称作索引颜色(Index Color),一种称作直接颜色(Direct Color)。

    • 索引色。用一个数字来代表(索引)一种颜色,在存储图片的时候,存储一个数字的组合,同时存储数字到图片颜色的映射。这种方式只能存储有限种颜色,通常是256种颜色,对应到计算机系统中,使用一个字节的数字来索引一种颜色。
    • 直接色。使用四个数字来代表一种颜色,这四个数字分别代表这个颜色中红色、绿色、蓝色以及透明度。现在流行的显示设备可以在这四个维度分别支持256种变化,所以直接色可以表示2的32次方种颜色。当然并非所有的直接色都支持这么多种,为压缩空间使用,有可能只有表达红、绿、蓝的三个数字,每个数字也可能不支持256种变化之多。

    点阵图vs矢量图

    • 点阵图,也叫做位图,像素图。构成点阵图的最小单位是象素,位图就是由象素阵列的排列来实现其显示效果的,每个象素有自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个象素,我们可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。点阵图缩放会失真,用最近非常流行的沙画来比喻最恰当不过,当你从远处看的时候,画面细腻多彩,但是当你靠的非常近的时候,你就能看到组成画面的每粒沙子以及每个沙粒的颜色。
    • 矢量图,也叫做向量图。矢量图并不纪录画面上每一点的信息,而是纪录了元素形状及颜色的算法,当你打开一付矢量图的时候,软件对图形象对应的函数进行运算,将运算结果[图形的形状和颜色]显示给你看。无论显示画面是大还是小,画面上的对象对应的算法是不变的,所以,即使对画面进行倍数相当大的缩放,其显示效果仍然相同(不失真)。

    BMP

    BitMap的缩写,是无损的、既支持索引色也支持直接色的、点阵图。

    这是一种比较老的图片格式。BMP是无损的,但同时这种图片格式几乎没有对数据进行压缩,所以BMP格式的图片通常具有较大的文件大小。虽然同时支持索引色和直接色是一个优点,但是太大的文件格式格式导致它几乎没有用武之地,现在除了在Windows操作系统中还比较常见之外,我们几乎看不到它。

    从上图中可以看到,在同样的图片质量下,BMP格式的图片文件大小是GIF格式的很多倍。

    GIF

    全称Graphics Interchange Format,采用LZW压缩算法进行编码。是无损的、采用索引色的、点阵图。

    GIF是无损的,采用GIF格式保存图片不会降低图片质量。但得益于数据的压缩,GIF格式的图片,其文件大小要远小于BMP格式的图片。文件小,是GIF格式的优点,同时,GIF格式还具有支持动画以及透明的优点。但,GIF格式仅支持8bit的索引色,即在整个图片中,只能存在256种不同的颜色。

    GIF格式适用于对色彩要求不高同时需要文件体积较小的场景,比如企业Logo、线框类的图等。因其体积小的特点,现在GIF被广泛的应用在各类网站中。

    JPEG

    JPEG是有损的、采用直接色的、点阵图。

    JPEG图片格式的设计目标,是在不影响人类可分辨的图片质量的前提下,尽可能的压缩文件大小。这意味着JPEG去掉了一部分图片的原始信息,也即是进行了有损压缩。JPEG的图片的优点,是采用了直接色,得益于更丰富的色彩,JPEG非常适合用来存储照片,用来表达更生动的图像效果,比如颜色渐变。

    与GIF相比,JPEG不适合用来存储企业Logo、线框类的图。因为有损压缩会导致图片模糊,而直接色的选用,又会导致图片文件较GIF更大。

    PNG-8

    PNG全称Portable Network Graphics,PNG-8是PNG的索引色版本。PNG-8是无损的、使用索引色的、点阵图。

    PNG是一种比较新的图片格式,PNG-8是非常好的GIF格式替代者,在可能的情况下,应该尽可能的使用PNG-8而不是GIF,因为在相同的图片效果下,PNG-8具有更小的文件体积。除此之外,PNG-8还支持透明度的调节,而GIF并不支持。 现在,除非需要动画的支持,否则我们没有理由使用GIF而不是PNG-8。当然了,PNG-8本身也是支持动画的,只是浏览器支持得不好,不像GIF那样受到广泛的支持。

    可以看到PNG-8具有更好的透明度支持。

    PNG-24

    PNG-24是PNG的直接色版本。PNG-24是无损的、使用直接色的、点阵图。

    无损的、使用直接色的点阵图,听起来非常像BMP,是的,从显示效果上来看,PNG-24跟BMP没有不同。PNG-24的优点在于,它压缩了图片的数据,使得同样效果的图片,PNG-24格式的文件大小要比BMP小得多。当然,PNG24的图片还是要比JPEG、GIF、PNG-8大得多。

    虽然PNG-24的一个很大的目标,是替换JPEG的使用。但一般而言,PNG-24的文件大小是JPEG的五倍之多,而显示效果则通常只能获得一点点提升。所以,只有在你不在乎图片的文件体积,而想要最好的显示效果时,才应该使用PNG-24格式。

    另外,PNG-24跟PNG-8一样,是支持图片透明度的。

    SVG

    全称Scalable Vector Graphics,是无损的、矢量图。

    SVG跟上面这些图片格式最大的不同,是SVG是矢量图。这意味着SVG图片由直线和曲线以及绘制它们的方法组成。当你放大一个SVG图片的时候,你看到的还是线和曲线,而不会出现像素点。这意味着SVG图片在放大时,不会失真,所以它非常适合用来绘制企业Logo、Icon等。

     

    SVG是很多种矢量图中的一种,它的特点是使用XML来描述图片。借助于前几年XML技术的流行,SVG也流行了很多。使用XML的优点是,任何时候你都可以把它当做一个文本文件来对待,也就是说,你可以非常方便的修改SVG图片,你所需要的只需要一个文本编辑器。

    SVG并非只能绘制简单的Logo类的图片,它可以绘制出精致的图片的,比如下面这涨,嗯。

    WebP

    WebP是谷歌开发的一种新图片格式,WebP是同时支持有损和无损压缩的、使用直接色的、点阵图。

    从名字就可以看出来它是为Web而生的,什么叫为Web而生呢?就是说相同质量的图片,WebP具有更小的文件体积。现在网站上充满了大量的图片,如果能够降低每一个图片的文件大小,那么将大大减少浏览器和服务器之间的数据传输量,进而降低访问延迟,提升访问体验。

    • 在无损压缩的情况下,相同质量的WebP图片,文件大小要比PNG小26%;
    • 在有损压缩的情况下,具有相同图片精度的WebP图片,文件大小要比JPEG小25%~34%;
    • WebP图片格式支持图片透明度,一个无损压缩的WebP图片,如果要支持透明度只需要22%的格外文件大小。

    想象Web上的图片之多,百分之几十的提升,是非常非常大的优化。只可惜,目前只有Chrome浏览器和Opera浏览器支持WebP格式,所以WebP的应用并不广泛。为了使用更先进的技术,比如WebP图片格式,来压缩互联网上传输的数据流量,谷歌甚至提供了Chrome Data Compression Proxy,设置了Chrome Data Compression Proxy作为Web代理之后,你访问的所有网站中的图片,在经过Proxy的时候,都会被转换成WebP格式,以降低图片文件的大小。

    转载于:https://www.cnblogs.com/summer0319/p/6762558.html

    展开全文
  • 常见图片文件格式

    千次阅读 2018-01-09 22:47:21
    为Windows位图,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。 TIFF格式 是Mac中广泛使用的图像格式,它由Aldus和微软联合开发,最初是出于跨平台存储扫描图像的需要而设计的
  • 图片常见的存储格式有:bmp,jpg,png,gif,tiff,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,webp等。 BMP:采用位映射存储格式,不采用其他任何压缩,所占用的空间很大。 JPG:最...
  • ctf常见文件格式: JPEG (jpg), 文件头:FFD8FF 文件尾:FF D9  PNG (png), 文件头:89504E47 文件尾:AE 42 60 82 GIF (gif), 文件头:47494638 
  • 常见图片格式

    2020-06-09 10:40:31
    常见图片格式 jpeg(Joint Photographic Experts Group),jpeg格式的图片常见的后缀名有jpg和jpeg本质上没有区别,将jpg和jpeg格式图片的后缀名互相更改是不会对图片有影响的。是一种有损压缩图片格式 bmp (Bitmap)...
  • 常见图片文件格式及各自的特点

    千次阅读 2012-11-26 12:20:27
    BMP格式是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。特点是包含的图像信息较丰富,几乎不进行压缩。缺点是占用磁盘空间过大。所以,目前BMP在单机上比较流行。 二、GIF格式 特点...
  • 点击上方蓝字,关注我吧常见图片格式介绍PS是处理图片的专用工具,免不了要和图片打交道平常常见的图片格式主要有jpg、png、gif、psd、tif、bmp等格式,下面我们就来简单的了解一下。1“JPEG”格式JPEG格式,也叫做...
  • 常见图片格式总结

    2019-11-29 16:28:13
    一种与硬件设备无关的图像文件格式,使用非常广 采用位映射存储格式 除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。 BMP文件的图像深度可选1bit、4bit、8bit及24bit。 BMP文件存...
  • 用于识别部分图片的真实格式(几种主流的图片格式) .如若是比较罕见的图片格式,也会被认为是unknown: Const wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}" Const wiaFormatPNG = "{...
  • 图片文件格式转换工具,在常见到几种图片格式之间进行转换的小工具(bmp,emf, gif,jpg,jpeg,png,ico),其中ico可选择大小
  • 常见图像文件格式详解

    千次阅读 2006-07-25 14:53:00
    常见的图像文件格式又有哪些呢? 一、BMP格式 BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的...
  • 目前项目相关的图片格式有 BMP
  • 常见图片格式大全

    2019-09-18 07:15:29
    常见的图像文件格式有哪些?各有什么特点?什么状况下用哪种格式?本文我们就通过图形文件的特征后缀名(就是如图.bmp这样的)来逐一认识当前常见的图形文件格式。 1.BMP:BMP格式是微软公司制定的图形标准,最大的...
  • 常见图片格式

    2017-01-02 15:05:51
    常见的图像格式 1) BMP――(Bimap) Microsoft公司的点位图格式, 支持1~24bit色彩,BMP格式无损保存图像每个像素的信息,因此文件也比较大。 2) GIF―― (Graphics Interchange Format)只支持256色,支持透明背景和...
  • 常见图片格式区别

    2017-02-20 00:16:38
    1.gif格式 : 支持256种颜色,支持文件背景透明,支持动画 ;一般文件小下载快 2.jpg格式 : 数百万种以上的颜色,不支持文件透明,不支持动画效果,但图像颜色品质高(精度高),一般用于数码相片。位图(由一个一个...
  • 常见的图像文件格式又有哪些呢? 一、BMP格式 BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着 Windows操作系统的流行与丰富的Windows应用程序的...
  • 常见的视频文件格式:.AVI; .ASF; .WMV; .AVS; .FLV; .MKV; .MOV; .3GP; .MP4; .MPG; .MPEG; .DAT; .OGM; .VOB; .RM; .RMVB; .TS; .TP; .IFO; .NSV 常见的音频文件格式:.MP3; .AAC; .WAV; .WMA; .CDA; .FLAC; .M4A...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,324
精华内容 529
关键字:

常见图片文件格式