精华内容
下载资源
问答
  • 为读者进一步进行学习 JPEG 文件压缩做好准备   关键字: 十六进制,段格式,编码   一、 JPEG文件格式概述: 图像和动画的存储方式是一个很重要问题。幸好我们有了数据压缩,有了 ...

    摘要:

    这篇文章大体上介绍了 JPEG 文件的结构信息以及它的压缩算法和编码方式。使读者能够对 JPEG 文件格式有大体上的了解。为读者进一步进行学习 JPEG 文件压缩做好准备

     

    关键字: 十六进制,段格式,编码

     

    一、    JPEG文件格式概述:

    图像和动画的存储方式是一个很重要的问题。幸好我们有了数据压缩,有了 JPEG 等多种压缩存储图像的文件格式,我们今天才能够拿着小小的一个存储器,却存上许多张色彩鲜艳的图片。如果没有图像压缩算法,也许我们的多媒体时代就会晚到来许多年。

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

    虽然图像转化为 JPEG 格式会减小很多,但是并不是文件就变得简单了,相反, JPEG 文件的格式是比较复杂的。不经过认真地分析,是不容易弄懂它的。

     

    二、    JPEG文件的存储方式:

    JPEG 文件的格式是分为一个一个的段来存储的(但并不是全部都是段),段的多少和长度并不是一定的。只要包含了足够的信息,该 JPEG 文件就能够被打开,呈现给人们。 JPEG 文件的每个段都一定包含两部分一个是段的标识,它由两个字节构成:第一个字节是十六进制 0xFF ,第二个字节对于不同的段,这个值是不同的。紧接着的两个字节存放的是这个段的长度(除了前面的两个字节 0xFF 和 0xXX , X 表示不确定。他们是不算到段的长度中的)。注意:这个长度的表示方法是按照高位在前,低位在后的,与 Intel 的表示方法不同。比方说一个段的长度是 0x12AB ,那么它会按照 0x12 , 0xAB 的顺序存储。但是如果按照 Intel 的方式:高位在后,低位在前的方式会存储成 0xAB , 0x12 ,而这样的存储方法对于 JPEG 是不对的。这样的话如果一个程序不认识 JPEG 文件某个段,它就可以读取后两个字节,得到这个段的长度,并跳过忽略它。

    本人曾经编写过一个读取 JPEG 文件信息的程序,该程序能够读取 JPEG 文件中包含的段的信息并显示出来。下面是一个 JPEG 图片的信息片断:

     

    SOI

            APP0    Length: 0x10

            DQT

                    DQT [0]:

            8       6       5       8       12      20      26      31

            6       6       7       10      13      29      30      28

            7       7       8       12      20      29      35      60

            7       9       11      15      26      44       50      31

            9       11      19      28      34      56      52      0

            12      18      28      32      61      52      0       46

            25      32      39      57      52      0       60      0

            36      46      39      49      253     50      0       50

            Length: 0x43

            DQT

                    DQT [1]:

            9       9       12      24      50      50      50      50

            9       11      13      33      50      50      50      50

            12      13      28      50      50      50      50      50

            24      33      50      50      50      50      50      50

            50      50      50      50      50      50      50      0

            50      50      50      50      50      50      0       50

            50      50      50       50      50      0       50      0

            50      50      50      50      253     50      0       50

            Length: 0x43

            SOF0

                    Image Height: 173

                    Image Width: 401

                    Number of Frame(s): 3

                     ****************

                    Content ID: 1

                    H Factor: 2

                    V Factor: 2

                    QT ID: 0

                    ****************

                    Content ID: 2

                    H Factor: 1

                    V Factor: 1

                     QT ID: 1

                    ****************

                    Content ID: 3

                    H Factor: 1

                    V Factor: 1

                    QT ID: 1

            Length: 0x11

            DHT

                    Type: DC TABLE

                    ID: 0

             Length: 0x1f

            DHT

                    Type: AC TABLE

                    ID: 0

            Length: 0xb5

            DHT

                    Type: DC TABLE

                    ID: 1

            Length: 0x1f

            DHT

                    Type: AC TABLE

                    ID: 1

             Length: 0xb5

            SOS     Length: 0xc     <-Will Not Process This Seg.

    FATAL ERROR: File Structure Does NOT Support.

     

    你首先会想到为什么最后会出现一个错误的信息呢?这是因为,在 SOS ( Start Of Scan )段的后面,就是编码后的一行一行的图像信息。不再是段的结构了。在开始的 SOI ( Start Of Image )不是一个段,它是文件的开始,它的值也是类似于 0xFF , 0xXX 的结构( SOI 的具体数值清自己察看相关书籍,本文章中将不作重点介绍),但是后面没有段的长度。在文件的最后,有一个 EOI ( End Of Image )的标识,它的结构和 SOI 是类似的。它标志着文件的结束。

    在这中间,包含了 APP0 段, DQT 段, SOF0 段, DHT 段, SOS 段。有的段的个数是不唯一的,比方说 DQT 段。我们现在重点地介绍各个段的作用。

     

    三、    JPEG文件中段的介绍:

    APP0 段中主要存储的是图片的识别信息(字符串 ”JFIF/0” )、一些分辨率的信息以及缩略图的信息。在我的实际测试中,发现并不是所有的 JPEG 文件都有 APP0 段的,有的仅是有 APP2 之类的其他段,但是每个文件中肯定是包含 APPX 的段( X 可以取得的值可以查阅相关文档)。我个人估计,这些 APPX 的段的信息应该是大同小异。这个的验证还有待本人进一步的学习,目前只能说到这里。

    DQT 段的内容是量化表的信息。众所周知,一个颜色可以分为 RGB (红、绿、兰)三个分量,这三色光组成了我们可以见到的所有色彩。但是,在 JPEG 文件中, RGB 色彩格式需要先转化为 YUV 的格式。 Y 分量代表了亮度信息, UV 分量代表了色差信息。相比之下,人眼对于 Y 分量更为敏感。量化表的作用就是对于一些不需要的量进行去除,这也是 JPEG 有损压缩损失数据的关键。上面的输出可以看到两个量化表,一个给 Y 分量,另一个给 UV 分量。其实,他们也可以共用一个量化表。一个量化的结果如下所示(摘自《 JPEG 压缩编码标准》):

    15    0     -1    0     0     0     0     0

    -2    -1    0     0     0     0     0     0

    -1    -1    0     0     0     0     0     0

    0     0     0     0     0     0     0     0

    0     0     0     0     0     0     0     0

    0     0     0     0     0     0     0     0

    0     0     0     0     0     0     0     0

    0     0     0     0     0     0     0     0

    我们可以看到,量化后出现了大量的 0 ,这种结果很有利于我们进行下一步的数据压缩的。至于为什么是 8x8 的大小,待会你就知道了。

    SOF0 段的内容是图像的大小信息,每个像素的位数信息,以及 YUV 每个分量分别得的采样信息(这部分如果读者想要进一步学习,请参考相应书籍和文档)。 JPEG 文件图像的编码是一个方块一个方块进行的,每块的大小为 8x8 大小(如果图像不是整数个方块的大小那么就对图像补齐为整数个大小)。简略地说采样信息,就是如何按组记录 YUV 的信息,即若干个 Y 方块,若干个 U 方块,若干个 V 方块经过量化的数据再次经过编码后组成一组记录,保存在 SOS 段结束后。

    DHT 段的内容是一个重头戏,如果没有它, JPEG 压缩效率就不会那么高了。它内部定义的是一个 Huffman 表,不同的 DHT 段定义不同的 Huffman 表,有的是直流量的表,有的是交流量的表。什么是直流量,什么是交流量呢?待会我再作介绍。最多的 Huffman 表示几个呢? YUV 各一个,直流交流各一个,因为 YUV 每个分量都有直流和交流,所以最多时, Huffman 表有 3x2 个,也就是可以有 6 个 DHT 段。该文件中有 4 个 DHT 表,您可以大概猜出来是哪几个表么? Y 的直流和交流各一个 Huffman 表, UV 和起来直流和交流各一个 Huffman 表。这样说应该比较合理吧。

    好了,现在我们应该弄明白什么是交流量,什么是直流量了。还举上面那个有许多个 0 的 8x8 的表的例子说,所谓交流量,是经过量化后的块内部除了左上角 15 那个值的其余值。实际上,块与块之间左上角那个值是用直流 Huffman 表来单独编码的。不与块内部一同编码。虽然不同的编码,但是要注意的事,不同的编码方式并不意味着它们是不在一起的,具体的存储编码后的数据的时候,还是按照若干个 Y 方块,若干个 U 方块,若干个 V 方块经过量化的数据再次经过编码后组成一组记录来存储的。

    SOS 段的内容是关于 YUV 每个分量的直流和交流各使用那个 Huffman 表来编码的。

     

    四、    JPEG文件十六进制代码解析

    我觉得,如果想要的了解 JPEG ,对十六进制代码的观察是必不可少的。不要认为这样有多难,我会让你知道这是很简单的。目前我们只需要了解我们能够了解的东西就可以了。要记住,每个段的开始是 0xFF , 0xXX ,紧接着两个字节是长度信息。


    可以看到,上图被选定的标记是 SOI 标记。


    上图被选定的段是 APP0 段。

     

     

    紧接着的段是 DQT 段,这个 JPEG 文件有两个 DQT 段。这里需要强调一点的是,包括量化表在内 8x8 的块的值是按照 Z 形来保存量化表 8x8 的数据的。而不是按照一行一行的保存的。这样做的好处是,能够让实际上相邻的像素点保存后也排列得比较近,便于压缩和编码。如下图所示:


    (摘自《 JPEG 压缩编码标准》)

     

     


    上图标记的段是 DHT 段,一共有 4 个 DHT 段。

     


    这个段是 SOS 段,在这个段的后面就是所有压缩后的数据。

    每段的具体信息在这里我就不详细介绍了,网上有很多相关的文章,如果有兴趣的话,可以去查找阅读。

     

    五、    图像数据块内的编码方式

    其实,图像数据块的编码是比较麻烦的,它涉及到了行程编码, Huffman 编码等编码方式。这部分很多文档说得都不是很清楚,我力求去除内部比较麻烦的部分,再通过简单的语言让大家明白原理,这样大家如果有兴趣进行下一步的研究,也会比较容易上手的。

    我们还是使用那刚才那个包含很多 0 的量化后的 8x8 的数据块来说明。我们把块内剩余的 63 个数据用行程编码来编码。经过行程编码后的数据的格式是:( x,y )。 x 表示的是从当前位置开始有多少个连续的零, y 表示这些连续的 0 的后面的第一个非零的数是多少。但是为了解决存储的问题和进行进一步的压缩。最后的压缩格式变为:( x,y ) z 。 xy 占有一个字节的长度。 z 的长度不固定,需要根据 y 的值来判断。 x 仍代表从当前位置开始有几个连续的零,但是因为 x 只能占有四位的长度,也就是它的最大值是 15 ,所以,当多于 16 个连续的零的时候。会用一个字节的 (15,0) 来代替前面的 16 个 0 ,然后继续编码(注意:这时候没有 z 部分)。当块结束或者当前块后面剩余的都是零的时候,就用( 0,0 )即 EOB 代替(同样也是没有 z 部分)。前面说到 z 的长度不固定,需要根据 y 的值来判断,这是为什么呢?简单的来说, z 的长度是不一定的,在 1~15 的范围内。 Y 的作用简单的来说表示的是 z 的二进制位数( 1~15 ),也正好是 4 位二进制的值能够表示的。然后,把 xy 合成的一个字节单独提取出来,利用 DHT 里面的 Huffman 表来进行编码。这样,编码的长度又能够被压缩了。

     

    六、    总结

    叙述了这么多,相信大家对于 JPEG 已经有了一个大概的了解了吧,如果你通过阅读这篇文章,对 JPEG 文件的结构和算法有了一个大体上的认识,那么这篇文章的目的也就达到了。下一步进行具体研究就不会有太大问题了。祝愿大家能够在数据压缩的路上走好。

    展开全文
  • GIF图片的文件储存结构和动画原理

    千次阅读 2018-06-16 07:57:06
    原文地址:[转]GIF图片的文件储存结构和动画原理作者:serfan 1.概述   GIF(Graphics Interchange Format,图形交换格式)文件是由CompuServe公司开发图形文件格式,版权所有,任何商业目的使用均须 CompuServe...

    原文地址:[转]GIF图片的文件储存结构和动画原理作者:serfan

    1.概述

      
    GIF(Graphics Interchange Format,图形交换格式)文件是由CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 CompuServe公司授权。

      
    GIF图象是基于颜色列表的(存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图象或者是决定图象表现行为的控制块,用以实现动画和交互式应用。GIF文件还通过LZW压缩算法压缩图象数据来减少图象尺寸。

    2.GIF文件存储结构

      GIF文件内部是按块划分的,包括控制块( Control Block )和数据块(DataSub-blocks)两种。控制块是控制数据块行为的,根据不同的控制块包含一些不同的控制参数;数据块只包含一些8-bit的字符流,由它前面的控制块来决定它的功能,每个数据块大小从0到255个字节,数据块的第一个字节指出这个数据块大小(字节数),计算数据块的大小时不包括这个字节,所以一个空的数据块有一个字节,那就是数据块的大小0x00。 下表是一个数据块的结构:

    BYTE76543210BIT
    0

    块大小

    Block Size - 块大小,不包括这个这个字节(不计算块大小自身)
    1 Data Values - 块数据,8-bit的字符串
    2 
    ... 
    254 
    255 

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

     GIF署名文件头 
     版本号
     逻辑屏幕标识符GIF数据流 
     全局颜色列表 
     ... 
     图象标识符图象块                
     图象局部颜色列表图
                    基于颜色列表的图象数据 
     
     ... 
     GIF结尾文件结尾 

      下面就具体介绍各个部分:

    文件头部分(Header)

    GIF署名(Signature)和版本号(Version)



    GIF署名用来确认一个文件是否是GIF格式的文件,这一部分由三个字符组成:"GIF";文件版本号也是由三个字节组成,可以为"87a"或"89a".具体描述见下表:

    BYTE76543210BIT
    1''G''GIF文件标识
    2''I''
    3''F''
    4''8''GIF文件版本号:87a - 1987年5月

           
    89a - 1989年7月
    5''7''或''9''
    6''a''

    GIF数据流部分(GIF Data Stream)

    逻辑屏幕标识符(Logical Screen Descriptor)



    这一部分由7个字节组成,定义了GIF图象的大小(Logical Screen Width &Height)、颜色深度(Color Bits)、背景色(Blackground ColorIndex)以及有无全局颜色列表(Global Color Table)和颜色列表的索引数(IndexCount),具体描述见下表:

    BYTE76543210BIT 
    1逻辑屏幕宽度像素数,定义GIF图象的宽度
    2
    3逻辑屏幕高度像素数,定义GIF图象的高度
    4
    5mcrspixel具体描述见下...
    6背景色背景颜色(在全局颜色列表中的索引,如果没有全局颜色列表,该值没有意义)
    7像素宽高比像素宽高比(Pixel Aspect Radio)

    m - 全局颜色列表标志(Global Color TableFlag),当置位时表示有全局颜色列表,pixel值有意义.

    cr - 颜色深度(Color ResoluTion),cr+1确定图象的颜色深度.

    s - 分类标志(Sort Flag),如果置位表示全局颜色列表分类排列.

    pixel - 全局颜色列表大小,pixel+1确定颜色列表的索引数(2的pixel+1次方).

    全局颜色列表(Global Color Table)



    全局颜色列表必须紧跟在逻辑屏幕标识符后面,每个颜色列表索引条目由三个字节组成,按R、G、B的顺序排列。

    BYTE76543210BIT
    1索引1的红色值 
    2索引1的绿色值 
    3索引1的蓝色值 
    4索引2的红色值 
    5索引2的绿色值 
    6索引2的蓝色值 
    7...                


    图象标识符(Image Descriptor)

    ~~~~~~~~~~~~~~~~~~~~~~~~~

    一个GIF文件内可以包含多幅图象,一幅图象结束之后紧接着下是一幅图象的标识符,图象标识符以0x2C('','')字符开始,定义紧接着它的图象的性质,包括图象相对于逻辑屏幕边界的偏移量、图象大小以及有无局部颜色列表和颜色列表大小,由10个字节组成:
    BYTE76543210BIT 
    100101100图象标识符开始,固定值为'',''
    2X方向偏移量必须限定在逻辑屏幕尺寸范围内
    3
    4Y方向偏移量
    5
    6图象宽度
    7
    8图象高度
    9
    10misrpixelm - 局部颜色列表标志(Local Color Table Flag)
           置位时标识紧接在图象标识符之后有一个局部颜色列表,供紧跟在它之后的一幅图象使用;值否时使用全局颜色列表,忽略pixel值。

    i - 交织标志(Interlace Flag),置位时图象数据使用交织方式排列(详细描述...),否则使用顺序排列。

    s - 分类标志(Sort Flag),如果置位表示紧跟着的局部颜色列表分类排列.

    r - 保留,必须初始化为0.

    pixel - 局部颜色列表大小(Size of Local Color Table),pixel+1就为颜色列表的位数

    局部颜色列表(Local Color Table)



    如果上面的局部颜色列表标志置位的话,则需要在这里(紧跟在图象标识符之后)定义一个局部颜色列表以供紧接着它的图象使用,注意使用前应线保存原来的颜色列表,使用结束之后回复原来保存的全局颜色列表。如果一个GIF文件即没有提供全局颜色列表,也没有提供局部颜色列表,可以自己创建一个颜色列表,或使用系统的颜色列表。局部颜色列表的排列方式和全局颜色列表一样:RGBRGB......

    基于颜色列表的图象数据(Table-Based Image Data)



    由两部分组成:LZW编码长度(LZW Minimum Code Size)和图象数据(Image Data)。

    BYTE76543210BIT
    1LZW编码长度LZW编码初始码表大小的位数,详细描述见LZW编码...

     



    ...
    图象数据,由一个或几个数据块(Data Sub-blocks)组成


    数据块


    ...

    GIF图象数据使用了LZW压缩算法,大大减小了图象数据的大小。图象数据在压缩前有两种排列格式:连续的和交织的(由图象标识符的交织标志控制)。连续方式按从左到右、从上到下的顺序排列图象的光栅数据;交织图象按下面的方法处理光栅数据:

    创建四个通道(pass)保存数据,每个通道提取不同行的数据:

    第一通道(Pass 1)提取从第0行开始每隔8行的数据;

    第二通道(Pass 2)提取从第4行开始每隔8行的数据;

    第三通道(Pass 3)提取从第2行开始每隔4行的数据;

    第四通道(Pass 4)提取从第1行开始每隔2行的数据;

    下面的例子演示了提取交织图象数据的顺序:

    通道1通道2通道3通道4 
    0--------------------------------1    
    1--------------------------------   4 
    2--------------------------------  3  
    3--------------------------------   4 
    4-------------------------------- 2   
    5--------------------------------   4 
    6--------------------------------  3  
    7--------------------------------   4 
    8--------------------------------1    
    9--------------------------------   4 
    10--------------------------------  3  
    11--------------------------------   4 
    12-------------------------------- 2   
    13--------------------------------   4 
    14--------------------------------  3  
    15--------------------------------   4 
    16--------------------------------1    
    17--------------------------------   4 
    18--------------------------------  3  
    19--------------------------------   4 
    20-------------------------------- 2   

    图形控制扩展(Graphic Control Extension)



    这一部分是可选的(需要89a版本),可以放在一个图象块(图象标识符)或文本扩展块的前面,用来控制跟在它后面的第一个图象(或文本)的渲染(Render)形式,组成结构如下:

    BYTE76543210BIT
    1扩展块标识Extension Introducer - 标识这是一个扩展块,固定值0x21
    2图形控制扩展标签Graphic Control Label - 标识这是一个图形控制扩展块,固定值0xF9
    3块大小Block Size - 不包括块终结器,固定值4
    4保留处置方法

    i

    t

    i - 用户输入标志;t - 透明色标志。详细描述见下...
    5延迟时间Delay Time -单位1/100秒,如果值不为1,表示暂停规定的时间后再继续往下处理数据流
    6
    7透明色索引Transparent Color Index - 透明色索引值
    8块终结器Block Terminator - 标识块终结,固定值0

    处置方法(Disposal Method):指出处置图形的方法,当值为:

                           
    0 - 不使用处置方法

                           
    1 - 不处置图形,把图形从当前位置移去

                           
    2 - 回复到背景色

                           
    3 - 回复到先前状态

                           
    4-7 - 自定义

    用户输入标志(Use InputFlag):指出是否期待用户有输入之后才继续进行下去,置位表示期待,值否表示不期待。用户输入可以是按回车键、鼠标点击等,可以和延迟时间一起使用,在设置的延迟时间内用户有输入则马上继续进行,或者没有输入直到延迟时间到达而继续

    透明颜色标志(Transparent Color Flag):置位表示使用透明颜色



    注释扩展(Comment Extension)



    这一部分是可选的(需要89a版本),可以用来记录图形、版权、描述等任何的非图形和控制的纯文本数据(7-bitASCII字符),注释扩展并不影响对图象数据流的处理,解码器完全可以忽略它。存放位置可以是数据流的任何地方,最好不要妨碍控制和数据块,推荐放在数据流的开始或结尾。具体组成:
    BYTE76543210BIT
    1扩展块标识Extension Introducer - 标识这是一个扩展块,固定值0x21
    2注释块标签Comment Label - 标识这是一个注释块,固定值0xFE
     

    ...
    Comment Data - 一个或多个数据块(Data Sub-Blocks)组成


    注释块


    ...
     块终结器Block Terminator - 标识注释块结束,固定值0
    展开全文
  • SVGA,就是Scalable Vector Graphics Animetion,即可伸缩矢量图形动画,理解为就是一种2d位图动画的储存格式,可以很小容量播放一个带通道效果,很好替代png序列(文件容量大)、gif文件格式(不支持透明通道\...

    什么是SVGA

    SVG,它的英文全称为Scalable Vector Graphics,即可伸缩矢量图形。

    SVGA,就是Scalable Vector Graphics Animetion,即可伸缩矢量图形动画,理解为就是一种2d位图动画的储存格式,可以很小的容量播放一个带通道的效果,很好的替代png序列(文件容量大)、gif文件格式(不支持透明通道\色域低)。

    绘制矢量图形也蛮占性能,目前更多使用提前做好的位图导入AE制作动画。

    带来的直观好处:一个10几MB大的序列帧效果,用svga格式可以只要几百K甚至几十K。

    设计师所制作的效果,就是用户在版本中的完整效果,保证效果也让内存不会爆掉。

    SVGA 是一种跨平台的开源动画格式,同时兼容 iOS / Android / Web。SVGA 除了使用简单,性能卓越,同时让动画开发分工明确,各自专注各自的领域,大大减少动画交互的沟通成本,提升开发效率。动画设计师专注动画设计,通过工具输出svga动画文件,提供给开发工程师在集成 svga player 之后直接使用。动画开发从未如此简单!

    制作思路

    举例用Animate制作,首先需要安装SVGA插件,注意这个插件是不收费的,官网上有,安装也非常简单。然后就正常制作动画,制作的时候避免使用影片剪辑元件,不能使用遮罩,不能使用属性动画。想做颜色绚丽复杂的礼物特效可以用png序列图导入。制作完成后,在窗口——扩展——SVGAConverter_FL,

    然后弹出输出窗口

    点击输出路径,指定输出的盘符位置,把礼物的名字写好;

    然后点击“开始转换-2.0”

    稍等之后文件就转换完成了,在中间绿点区域就会出现转换好的SVGA礼物动画,

    还可以点击“选择播放文件”找到已经做好的.svga格式的文件,播放效果,方便修改。

    制作效果

    svga动画效果

    svga文件格式

    SVGA文件后缀名是.svga;一目了然,文件都比较小。

    SVGA 可以同时支持 Flash 和 After Effects 的导出,只需要在各自转换器中计算差值就好了。

    SVGA 在设计之初就支持位图元素,在 1.x 格式时使用 ZIP 进行打包,在 2.x 格式中,直接使用 ProtoBuf + Zlib 方式打包,作为开发者,完全不用关心应该怎样下载、解压、获取位图文件,直接把 svga 文件扔进去 Player 就可以了!

    展开全文
  • *.3ds文件格式与*.max文件格式的区别

    千次阅读 2008-10-11 20:27:00
    解答: *ds格式是老牌了,3dsmax前身3dstudio的文件格式,当时也是业界通用标准格式之一,所以现在仍然可以看到。这个格式能稳定地保存模型mesh信息和UV信息,也兼容基础骨骼和基本动画,不过现在主要用来储存...

    问题:

           *.3ds文件格式与*.max文件格式的区别?

    解答:

           *ds格式是老牌了,3dsmax的前身3dstudio的文件格式,当时也是业界的通用标准格式之一,所以现在仍然可以看到。这个格式能稳定地保存模型mesh信息和UV信息,也兼容基础骨骼和基本动画,不过现在主要用来储存mesh模型。所有3D软件通用。如果你下载3D模型,经常可能会遇到*.max的模型,这个时侯你可以利用3dmax软件将它转换为*.3ds的文件格式。具体的操作是:

        ”文件“ --> “输出” --> 打开输出对话框。

    展开全文
  • 一张图片可以储存为多种格式,为什么有几十KB,有几百MB,有静止不动,有是好几个画面循环播放?在项目开发过程中经常会读取或保存图像文件,不同类型图像特点不同,适用范围也不同,简要介绍BMP、GIF...
  • PS文件的存储

    2018-07-25 20:08:04
    一、PS文件储存方法 存储---ctrl+s 存储为---ctrl+shift+s 存储为Web所用格式---ctrl+shift+alt+s(注...其还可以保存GIF格式的动画文件。) 二、PS常用图像格式 在Photoshop中,文件保存格式有很多种,不同...
  • 开机动画文件位于 cust\unicom\cn\media\bootanimation.zip 具体位置根据手机而定 要制作开机动画,我们首先来了解下bootanimation.zip文件结构。 这是一个普通zip文件,并且只可以选择储存格式压缩,...
  • jpg,gif和png三种格式图片说明

    千次阅读 2012-07-26 15:46:39
    我们最理想图片是容量小质量高清晰,这得根据不同图片性质...是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要资料会被丢失,因此容易造成图像数据损伤。 gif无损、≤256色、动画
  • 看门狗安卓开机动画

    2014-08-17 13:10:25
    1.以下几点必须: 手机ROOT 手机端安装RE管理器 PC端安装美图看看 ...最后把改过desc.txt,folder1,folder2添加到压缩文件,名字bootanimation,格式zip,压缩方式要选择储存 然后替换掉你手机里面就行了
  • 一、常见图片格式 ...你网上下载极大部分图片都会是 .jpg 格式的 2):PNG 格式 无损压缩 支持 Alpha 通道半透明特性、图像亮度 gamma 校正信息等 允许在一个文件内存储多幅图像(多...
  • CSS_常用图片格式

    2009-05-22 10:46:00
    我们最理想图片是容量小...常用图片格式的特点:jpg 有损、文件小是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要资料会被丢失,因此容易造成图像数据损伤。gif 无损、≤256色、动画
  • 在www上,被用来储存和传输照片的格式。 gif是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画效果. webp格式是谷歌在2010年推出的图片格式,压缩率只有jpg的2/3,大小比png小了45%。缺点是压缩的时间更久...
  • MP4不是流媒体格式

    千次阅读 2016-03-18 11:07:14
    3、流媒体是:流式传输时,声音、影像或动画等多媒体信息由流媒体服务器向用户计算机连续、实时传送,它首先在使用者端电脑上创建一个缓冲区,于播放前预先下载一段资料作为缓冲,用户不必等到整个文件全部下载...
  • clpdcopy.ZIP 一个可以从剪贴版粘贴文件的程序(象Explore中“复制”和“粘贴”一样)(4KB) 10,findfile.ZIP 利用递归方式实现对文件的查找操作(3KB) 11,vb52unix.ZIP 将VB格式文件转换为Unix...
  • 三维游戏模型导入

    2017-02-12 22:46:00
    .X文件是微软定义3D模式文件格式,其中包括网格纹理、动画以及用户定义对象一些数据等。.X文件通常并未储存具体纹理数据,它只包含纹理贴图文件名,所以,我们常常会发现,X文件会和一些图片文件放在一起...
  • 1.常用的几个图片类型: 1.png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图...在www上,被用来储存和传输照片的格式。 3.gif是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画...
  • 300集PS学习笔记03

    2020-03-25 19:34:25
    四、文件存储 一、PS文件储存方法 1、存储—ctrl+s 2、存储为—ctrl+shift+s 3、存储为Web所用格式—ctrl+shift+...其还可以保存GIF格式的动画文件。) 二、PS常用图像格式 在Photoshop中,文件保存格式有很多...
  • GraphicConverter 11 mac版是一款Mac电脑上强大图片编辑和浏览工具,不仅能够浏览图片,还具有简单编辑和处理功能,它可以打开和储存所有图形文件, 并进行编辑转换。也可做为制作动画清单和展示幻灯片用,它有...
  • 在www上,被用来储存和传输照片的格式。 gif是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画效果. webp格式是谷歌在2010年推出的图片格式,压缩率只有jpg的2/3,大小比png小了45%。
  •  在我博客Android4.0网络开发中,详细介绍过XML文件格式,这里就不在介绍XML,但说HTML。  HTML是超文本标记语言,它和XML有许多相似地方,比如都可以储存一定数据。HTML出现,主要是适应互联网发展,它...
  • 图片制成3D旗帜软件

    2013-12-18 18:32:12
    可以将 BMP 和 JPG 格式的图形文件制作成 3D 旗帜动画。程序本身提供了多种特效功能让使用者自行调整使用,像是调整大小、色彩、方向、风强度、...制作好 3D 旗帜动画可以储存成 GIF 格式的图形文件和让网页使用。
  • -支持更多的文件格式,如图片, 视频, 声音, 音乐, 动画, 2D/3D矢量图形, 数据库, 电子表格, 档案, 简报, 邮箱, -地址簿, Windows®CE和Palm的文件和其他格式的. -支持更多存储设别,如SD™/ SDHC™/ SDXC™, CF卡,...
  • 位图和Bitblt 位图入门 位图尺寸 位块传输 GDI位图对象 与设备无关位图 DIB文件格式 显示和打印 DIB和DDB结合 调色盘管理器 使用调色盘 调色盘动画 调色盘和...
  • flash shiti

    2014-03-14 10:32:41
    42.图形文件中,哪几种格式的矢量图能被Flash直接引用? A. *.ai B. *.eps C. *.cdr D. *.wmf 43.下图中哪几项可以打开平滑与整平工具? A. 从附属选项中挑选 和 钮 B. 从附属选项中挑选 和 钮 C. 选取...
  • GraphicConverter 11 mac版是一款Mac电脑上强大图片编辑和浏览工具,不仅能够浏览图片,还具有简单编辑和处理功能,它可以打开和储存所有图形文件, 并进行编辑转换。也可做为制作动画清单和展示幻灯片用,它有...
  • DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件 DBX:...
  • 转换多种MPEG、VAI格式的视频影片 和宽屏幕视频一气呵成,生成视频文件在电脑上就可播放,也可考贝到U盘上在多数视频播放器中使用,如:在DVD机器上使用就可以在电视机上观看,是刻录成VCD/DVD/SVCD光盘优秀工具...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

动画文件储存的格式是