JPEG文件格式简单分析.

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文件的结构和算法有了一个大体上的认识,那么这篇文章的目的也就达到了。下一步进行具体研究就不会有太大问题了。祝愿大家能够在数据压缩的路上走好。

参考文献:

1.《JPEG压缩编码标准》

2.《JPEG格式》

3.《JPEG简易文档》作者:风云

bmp文件格式详解

b m p文件格式详解 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

BMP文件格式,又称为Bitmap(位图)或是DIB(Device-IndependentDevice,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphicaluserinterfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持。 下面以Notepad++为分析工具,结合Windows的位图数据结构对BMP文件格式进行一个深度的剖析。 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: bmp文件头(bmpfileheader):提供文件的格式、大小等信息 位图信息头(bitmapinformation):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息 调色板(colorpalette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表 位图数据(bitmapdata):就是图像数据啦^_^ 下面结合Windows结构体的定义,通过一个表来分析这四个部分。 我们一般见到的图像以24位图像为主,即R、G、B三种颜色各用8 个bit来表示,这样的图像我们称为真彩色,这种情况下是不需要调色 板的,也就是所位图信息头后面紧跟的就是位图数据了。因此,我们 常常见到有这样一种说法:位图文件从文件头开始偏移54个字节就是

位图数据了,这其实说的是24或32位图的情况。这也就解释了我们 按照这种程序写出来的程序为什么对某些位图文件没用了。 下面针对一幅特定的图像进行分析,来看看在位图文件中这四个数据 段的排布以及组成。 我们使用的图像显示如下: 这是一幅16位的位图文件,因此它是含有调色板的。 在拉出图像数据进行分析之前,我们首先进行几个约定: 1.在BMP文件中,如果一个数据需要用几个字节来表示的话,那么该数据的存放字节顺序为“低地址村存放低位数据,高地址存放高位数据”。如数据 0x1756在内存中的存储顺序为: 这种存储方式称为小端方式(littleendian),与之相反的是大端方式(bigendian)。对两者的使用情况有兴趣的可以深究一下,其中还是有学问的。 2.以下所有分析均以字节为序号单位进行。 下面我们对从文件中拉出来的数据进行剖析: 一、bmp文件头 Windows为bmp文件头定义了如下结构体: typedef struct tagBITMAPFILEHEADER {?

各种文件后缀的含义

各种文件后缀的含义 ACA:Microsoft的代理使用的角色文档 .acf:系统管理配置 .acm:音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能 .aif:声音文件,支持压缩,可以使用Windows Media Player和QuickTime Player播放 .AIF:音频文件,使用Windows Media Player播放 .AIFC:音频文件,使用Windows Media Player播放 .AIFF:音频文件,使用Windows Media Player播放 .ani:动画光标文件扩展名,例如动画沙漏。 .ans:ASCII字符图形动画文件 .arc:一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开 .arj:压缩文件。可以使用WinZip,WinRAR,PKARC等软件打开 .asf:微软的媒体播放器支持的视频流,可以使用Windows Media Player播放 .asp:微软的视频流文件,可以使用Windows Media Player打开 .asp:微软提出的Active Server Page,是服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。可以使用Visual InterDev编写,是目前的大热门

.asx:Windows Media 媒体文件的快捷方式 .au:是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件 .avi:一种使用Microsoft RIFF规范的Windows多媒体文件格式,用于存储声音和移动的图片 .bak:备份文件,一般是被自动或是通过命令创建的辅助文件,它包含某个文件的最近一个版本,并且具有于该文件相同的文件名 .bas Basic:语言源程序文件,可编译成可执行文件,目前使用Basic 开发系统的是Visual Basic .bat:批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用 .bbs:电子告示板系统文章信息文件 .bfc:Windows的公文包文件 .bin:二进制文件,其用途依系统或应用而定 .bmp:Bitmap位图文件,这是微软公司开发Paint的自身格式,可以被多种Windows和Windows NT平台及许多应用程序支持,支持32位颜色,用于为Windows界面创建图标的资源文件格式。 .c:C语言源程序文件,在C语言编译程序下编译使用 .cab:Microsoft制订的压缩包格式,常用于软件的安装程序,使用Windows自带的实用程序,Extract.exe可以对其解压缩,WinZip,WinRAR等都支持这种格式

国企中的标准公文格式

标准公文格式设置 一、公文的模板制作 进入系统:“开始”菜单——“程序”——“Microsoft Word”——进入Word 界面, 1 进行页面设置 选择“文件”——“页面设置”选择“页边距”附签,上:3.7厘米下:3.5厘米左:2.8厘米右:2.6厘米。选择“版式”附签,将“页眉和页脚”设置成“奇偶页不同”,在该选项前打“√”。选择“文档网格”附签,“字体设置”,“中文字体”设置为“仿宋”;“字号”设置成“三号”,单击“确定”按钮,选中“指定行网格和字符网格”;将“每行”设置成“28”个字符;“每页”设置成“22”行。然后单击“确定”按钮,这样就将版心设置成了以三号字为标准、每页22行、每行28个汉字的国家标准。 2 插入页号 选择“插入”——“页码”,“位置”设置为“页面底端(页脚)”,“对齐方式”设置为“外侧”。然后单击“格式”按钮,“数字格式”设置为全角的显示格式,单击“确定”按钮,再次单击“确定”按钮完成页码设置。双击页码,在页码两边各加上一条全角方式的短线;并将页码字号设置成“四号”;字体任意;奇数页的页码设置成右空一个汉字,偶数页的页码设置成左空一个汉字。 3 发文机关标识制作 选择“插入”——“文本框”——“横排”菜单项,鼠标将会变成“┼”,在Word 2000版面上单击鼠标左键,出现一个文本框,在该文本框内输入发文机关标识,输入完成后,选中该文本框,单击鼠标右键——“设置文本框格式”,在这里来设置红头的属性。 选择“颜色和线条”附签,“颜色”设置成“无填充颜色”。选择“大小”附签,“高度”设置成“2cm”;宽度设置成“15.5cm”。注:用户可根据实际情况调节尺寸。选择“版式”附签,单击“高级”按钮,水平对齐:“对齐方式”设置成“居中”,“度量依据”设置成“页面”;垂直对齐:“绝对位置”设置成“页边距”,“下侧”设置成“2.5cm”——平行文标准,“8.0cm”——上行文标准,注:用户可根据实际情况调节尺寸。然后单击“确定”。 选择“文本框”附签,左、右、上、下都设置成“0cm”,单击“确定”完成。文本框属性全部设置完成,单击“确定”按钮。选中文本框内的全部文字,将颜色设置成“红色”,字体设置成“小标宋简体”,字号根据文本框的大小设置成相应字号,但要尽量充满该文本框,这样,宽为155mm、高为20mm、距上25mm 的红头制作完成。 4 红线制作 首先将“视图”——“工具栏”——“绘图”选中,单击“绘图”工具条的直线工具,鼠标会变成“十”字形,左手按住键盘上的Shift键,右手拖动鼠标从左到右划一条水平线,然后选中直线单击鼠标右键,选择“设置自选图形格式”,红线的属性在这里进行设置。选择“颜色和线条”附签,“颜色”设置为“红色”;“虚实”设置为“实线”;“粗线”设置为“2.25磅”。选择“大小”附签,“宽度”设置为“15.5cm”。选择“版式”附签,单击“高级”按钮,水平对齐:“对齐方式”设置成“居中”,“度量依据”设置成“页面”,垂直对齐:“绝对位置”设置成“页边距”,“下侧”设置成“7cm” ——平行文标准,

BMP格式结构详解

位图文件(B it m a p-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(d evice-d ependent b itmap,DDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(d evice-i ndependent b itmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。 6.1.2 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它们的名称和符号如表6-01所示。 表6-01 BMP图像文件组成部分的名称和符号 位图文件的组成结构名称符号 位图文件头(bitmap-file header)BITMAPFILEHEADE R bmfh 位图信息头(bitmap-information header)BITMAPINFOHEADE R bmih 彩色表(color table)RGBQUAD aColors[] 图像数据阵列字节BYTE aBitmapBits[ ] 位图文件结构可综合在表6-02中。 表6-02 位图文件结构内容摘要 偏移量域的名称大小内容 图像文件头0000h标识符 (Identifie r) 2 bytes两字节的内容用来识别位图的类型: ‘BM’ : Windows 3.1x, 95, NT, linux ‘BA’ :OS/2 Bitmap Array ‘CI’ :OS/2 Color Icon ‘CP’ :OS/2 Color Pointer ‘IC’ : OS/2 Icon ‘PT’ :OS/2 Pointer 0002h File Size 1 dword用字节表示的整个文件的大小 0006h Reserved 1 dword保留,设置为0 000Ah Bitmap Data Offset 1 dword从文件开始到位图数据开始之间的数据(bitmap data)之间的偏移量 000Eh Bitmap Header Size 1 dword位图信息头(Bitmap Info Header)的长度,用来 描述位图的颜色、压缩方法等。下面的长度表示: 28h - Windows 3.1x, 95, NT, … 0Ch - OS/2 1.x F0h - OS/2 2.x 0012h Width 1 dword位图的宽度,以像素为单位 0016h Height 1 dword位图的高度,以像素为单位 001Ah Planes 1 word位图的位面数 图像001Ch Bits Per Pixel 1 word每个像素的位数 1 - Monochrome bitmap

常用文件格式大全

常用文件格式大全 不同的文件,有不同的文件格式,区别这些文件格式常常是文件名的后缀名不同,现统计常用文件后缀名如下,供读者参考和查阅。 BAT DOS下的批处理文件。Autoexec.bat为自动批处理文件,它是特殊的批处理文件。 EXE 可执行的程序文件,与COM内部结构不相同,最突出是长度没有限制。 COM 可执行的二进制代码系统程序文件,特点非常短小精焊,长度有限制。 ASM 汇编程序文件为二进制代码文件,可以打个比方,它就像BASIC中的.BAS程序文件一样,为不可执行文件。 ASC 代码文件。 BAK 备份文件 LIB 程序库文件 CHK 检查磁盘命令CHKDSK发现的目录或文件分配表中的错误,校正系统后的文件。 TMP 临时文件 SYS 系统配置文件,最典型的如config.sys,一般可以用EDIT进行编辑。 OBJ 目标文件,源程序编译输出的目标代码。 OLD 备份文件,一般是一些程序对系统配置修改后将原文件复制一份存储为该文件格式。 INI 配置文件,不要以为这个文件只有Windows程序需要,DOS下程序也有不少需要它,如3DS与AutoCAD。 INF 安装配置文件,这在WIN95下使用较多。 HLP HELP帮助文件,这个文件一定要重视,因为它是你每使用一个新软件的最好的说明书,几乎99% 的软件都有这个文件,另外,DOS下的一些帮助放在README以后,帮助便没有了,如UCDOS中的REAME.EXE;有单独DOS的命令,若不知道怎么使用,可以试试以下的命令格式:“DIR?或DIR/?”。 DDI 早期映象文件,由DiskDUP IMGDRIVE IMG.EXE展开 IMG 这个文件要注意,有时它是一个图象文件,但更多的时候,它是映象文件,在早期光盘上,此文件使用最多,能常用HD-COPY IMG UNIMG都软件进行解压(注:IMG这个软件为什么一闪就没了呢,这个软件需要热键激活,按下Ctrl+Alt+S+D+X),如果要安装的软件压缩文件由和几个IMG分开压缩,那最好用UNIMG 将它们全部解压缩,然后安装,它安装时提示你“请插入X序列盘”。 ARJ ARJ(ARJ这个以前风眯一时的压缩软件谁人不晓)软件压缩的文件,它的压缩比较高,使用也特方便顺手,只需要“ARJ a -r -v……” RAR 这也是一个压缩文件,传说比ARJ压缩比更高,笔者没有亲手做试验,故不敢下空此结论。 ZIP 当前最流行的压缩文件,谁不知道ZIP呀,WINZIP,再也不是DOS下的那个UNZIG或PKZIP了,兼容,向下兼容,从游戏到软件,差不多都是它压缩的了。 IMD UCDOS中输法的编码字典文件。 PDV UCDOS中的自由表格UCTAB生成的表格文件,它生成的文件可以被WPS调用,也挺方便的。 BAS BASIC中的源程序文件,BASIC可为初学者最为熟悉的编辑语言,它的优点笔者就不在累赘了,注意QBASIC与QUICK BASIC和GW BASIC是有区别。 C C语言中的源程序文件,它不但造就了我们常常为之日夜奋战的精彩电脑游戏,还创造出UNIX操作系统,有口皆碑的好编程软件。 MAK C语言中的工程文件。 COB COBOL语言源程序文件。 PAS PASCAL语言源程序文件。 FOR FORTRAN语言源程序文件。 FOX FOXBASE伪编译程序文件,比PRG短小运行速度快。

办公室文秘必备公文基本格式

办公室文秘必备公文基本 格式 on 22 November 2020 一、公文文面格式

公文文面格式是指公文中各要素(各组成部分)的搭配、排列和标识规则,包括版面安排、字体型号、各要素的标识排序等。 党政机关通用公文的文面格式由版头(报头)、份号、密级、保密期限、发往地址、紧急程度(等级)、发文字号、签发人、收发报序号、公文标题、主送机关、正文、附件名称(附件说明)、发文机关署名、成文日期、印章、印发传达范围(附注)、附件、主题词、抄送机关、印制版记、公文二维条码22个要素组成。1版头 行政机关的发文机关标识主要有3种形式:一种由发文机关全称或规范化简称加“文件"组成,即"文头纸";一种由发文机关名称加"令"组成,如"省政府令";一种由发文机关名称加武文线组成,即“函头纸"。对于上报的公文,发文机关标识上边缘至版心上边缘为80mm。 2.份号 即份数序号,是同一件公文印制份数的顺序号。用电报传送的秘密公文,不标注份号。绝密、机密、秘密电报均属空码电报,均应按空码电报的管理办法进行严格管理。 3.密级与保密期限 公文中的密级(包括国家秘密)分为绝密、机密、秘密3个等级。商业秘密分为商业机密、商业秘密2个等级。密级用3号黑体字标注。党的机关的公文空级标注在份号下方,两字之间空1字;行政机关的公文密级标注在公文首页右上角。如需同时标注秘密等级与保密期限,党政机关的公文都用3号黑体字顶格标注在版心右上角第1行,秘密等级中间不空格,并与保密期限之间用"★"隔开。

4.紧急程度(等级) 党的机关的紧急公文,分别标明"特急"、"力口急"用3号黑体字顶格标注于公文首页页版心右上角,两字之间空1字;行政机关的紧急公文,分别标明"特急"、"急件",用3号黑体字标注于公文首页版心右上角第2行。如无空级则标注在第1行。电报的紧急程度叫等级,分“特提、特急、加急、平急"4种,用3 号仿宋体字标注,其办理公文的时间要求分别是1天、3天、5天、10天。 5.发文字号 发文字号是由发文机关代字、发文年度和发文顺序号3部分组成。发文年度应标全称,不能简写。发文顺序号分年度从1号起,按公文的签发时间的先后依次编号,不能跳号,不留有空号,不随意编号,不编虚位(即"1"不编为"001"), 不加"第"字。 应注意三个问题:一是发文字号一经确定,应长期固定使用。二是联合行文,一般只标注主办机关的发文字号。三是用特定版头印制的公文的发文字号,行政机关的用3号仿宋体字标注于版头(发文机关标识)下空1行红色横隔线之上。下行文、平行文的居中标注;上行文的标注于左侧,与右侧的“签发人"对称,左右两边各空1字排印。 6.签发人

BMP图像格式详解

BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。

2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强

文件各种书写格式范文

文件各种书写格式范文 单位介绍信是一种正式的介绍文件。介绍派出人员的身份和任务的专用信件。用一般的公文信纸书写。包括标题、称谓、正文、结尾、单位名称和日期、附注几部分。下面为大家详细介绍单位介绍信如何写。 一、首先了解单位介绍信的作用: (1)介绍信主要用于联系工作、洽谈业务、参加会议、了解情况时的自我说明。 (2)对于持信人而言,介绍信具有介绍、证明双重作用。 二、首先第一行在中间写标题"介绍信",字体推荐用宋体二号居中。 三、第二行顶格写收信单位名称或收信人姓名,姓名后面需要加尊称,如先生、女士等。 四、第三行是你所要介绍的正文,要把所要介绍的人的姓名、人数、身份、职称表达清楚;清楚的表达你所要介绍的接洽的事项。

五、最后致敬和祝愿的话,如“此致敬礼”。在正文的右下方写明派遣单位的名称和介绍信的开出日期,并加盖公章。日期写在单位名称下方。附注注明介绍信的有效期限,具体天数用大写。 介绍信范文: 公司: 兹有公司法人代表授权委托同志为本公司代表前往贵处,全权办理事宜,请予接洽为盼! 委托单位:公司 法人代表: 日期:年月日 就好比为什么要有交通规则等,论文的格式不仅体现了它的严谨性,更是规范性的体现,高考作文要求按照它的格式写就是为了规范,如果你写出格子外,用铅笔等不符合规矩的笔,最后分数低只能怪自己,所以规则既然制订了,就得遵从,更何况这个规则是有好处的。

图片格式转换可以用『格式工厂』 格式工厂支持几乎所有类型多媒体格式。转换过程中,可以修复损坏的文件,让转换质量无破损。还可以帮你的多媒体文件减肥,节省磁盘空间,方便保存与备份。 软件界面非常清爽,没有任何广告,只保留了最基本的功能。 界面左边为支持转换的格式,还有一个工具集,可以进行简单的视频合并,音频合并,混流,混合等。右边可以查看转换实时进度和一些文件基本信息。使用方法非常简单,一看就会,就不介绍了。 个人担保书格式范文 【范文一】 出借人:_____ 电话:_____ ___号:__________ 借款人:_____ 电话:_____ ___号:__________

公司文件公文格式

精心整理 ×××××管理有限公司 纸质公文格式 说明:本纸质公文格式样本共8页,按照国家标准GB/T9704-1999并结合公司实际情况制定。

公司 ×××××管理有限公司文件 物业××字〔2004〕××号 公司B 特 急 物业××字〔2004〕××号 ××× 关于×××的请示 ××公司: ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。

×××××××××××××××××××××。 2、××××× 二○○三年×月×日 (联系人:×××,电话:××)

物业××字〔2004 〕××号 公司×密★×年 ××××× 管理有限公司 总经理办公会纪要 ×××××管理有限公司内部信息 ×××××综合管理部 标题

×××××××××××××××××××××××××××××××××××××。 ××××××××××××××××××××××××××××××××。 ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。 主送: ×年 主持人:×××(姓名加职务) 参加人:×××、×××(顺序为:公司领导姓名,部门加姓名,属下单位加 姓名,其他单位加姓名,属同一单位的参加人,均列于该单位名 称后) 记录:××× 纪要: ×××××××××××××××××××××。

15种公文格式及范文

决议的格式及范文 决议一般由标题、通过日期与正文三个部分组成。 一、标题多采用“会议名称+事由+决议”的形式,也有采用“事由+决议”的形式,但很少有仅以“决议”二字作标题的。 二、通过日期凡属于法定会议正式讨论通过的决议,日期一般放在标题之下,在小括号内注明会议名称及通过时间,有时也可省略会议名称。 三、正文 决议正文的行文方式,往往因决议的类型不同而有所区别。 1.对于事项性决议,其正文一般由“决议根据”、“决议事项”、“决议结语”三个层次构成。(1)决议根据部分,简短概要地写明在何时,经过什么会议、什么目的、讨论通过了什么问题或事项。 (2)决议事项部分,通常行文采用第三人称的口吻来阐明有关事项,以于涉及范围较广的决议,多采用分条例项的方法。 (3)决议结语部分,应根据需要而定,写法上要与内容紧密衔接,一般提出要求或发出号召,切忌不着边际,泛泛而论。 2.对于纪要性决议,其正文一般由“决议缘由”、“决议内容”两个层次构成。 (1)决议缘由部分,往往以精炼简短的文字,概述出有关会议的名称、原因和议题等内容。 (2)决议内容部分,一般采用叙议结合的方式分层次阐述有关内容。有的纪要性决议也可在正文末段加“结语”,紧承上文内容,提出希望或号召。从写作的角度来要求,应当注意:决议阐述的内容,必须是经过有关会议讨论通过的,切不可随意发挥;要以事实为根据,以深刻和充分的分析为前提;同时要注意语言的准确、凝炼、恰当、生动有力。

决定的格式及范文 (一)决定的写作格式 决定是党政机关及其他部门对某些重大问题或重要事项, 经过一定会议讨论研究表决通过后要求贯彻执行的文体。 决定除会议作出外,也可以由领导机关制发。 决定一般由标题和日期、正文、结尾三个部分组成。 (1) 标题和日期 决定的标题要完整地写出发文机关、决定事由和文种三项内容。在决定事由前一般以"关于"连结。决定的日期即会议通过或领导签发此项决定的日期。它写在标题之下,外用括号。重大法规性的决定,还需注明通过该决定的机关、日期和生效日期。文末不再注明。 (2) 正文 决定的主体部分也就是正文。 其篇幅长短,由内容多少决定。一个篇幅较长的决定, 其内容通常包括两层意思:一层是说明形势和有关情况,作出决定的目的与意义;另一层是说明决定的具体事项,落实决定的政策、措施和要求等等。 篇幅较长的决定,正文在结构上可分为开头、主体、结语三部分。 开头。这一部分一般用一个自然段落,用"特决定如下"或" 特做如下决定"与主体部分衔接。"开头"主要用以说明目前形势,分析或阐述做此决定的原因目的及意义。其语言要求简洁、概括性强。 主体。 表达决定的具体内容。 因为它是下级机关、相关单位及所属个人必须执行的准则,所以要求写得明确、具体、详尽。这一部分的表达方式常采用条文式写法,在这些表现具体内容的"条"、"项"之间可以是明显的并列关系,

BMP头文件格式

bmp头文件格式 1:BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。2:BMP文件头(14字节) BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下: typedef struct tagBITMAPFILEHEADER { WORDbf Type; // 位图文件的类型,必须为BMP(0-1字节) DWORD bfSize; // 位图文件的大小,以字节为单位(2-5字节) WORD bfReserved1; // 位图文件保留字,必须为0(6-7字节) WORD bfReserved2; // 位图文件保留字,必须为0(8-9字节) DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10-13字节) // 文件头的偏移量表示,以字节为单位 } BITMAPFILEHEADER; 3:位图信息头(40字节) BMP位图信息头数据用于说明位图的尺寸等信息。 typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本结构所占用字节数(14-17字节) LONG biWidth; // 位图的宽度,以像素为单位(18-21字节)

LONG biHeight; // 位图的高度,以像素为单位(22-25字节) WORD biPlanes; // 目标设备的级别,必须为1(26-27字节) WORD biBitCount;// 每个像素所需的位数,必须是1(双色),(28-29字节) // 4(16色),8(256色)或24(真彩色)之一 DWORD biCompression; // 位图压缩类型,必须是0(不压缩),(30-33字节) // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; // 位图的大小,以字节为单位(34-37字节) LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数(38-41字节) LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数(42-45字节) DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数(46-49字节) DWORD biClrImportant;// 位图显示过程中重要的颜色数(50-53字节) } BITMAPINFOHEADER; 4:颜色表 颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: typedef struct tagRGBQUAD {

各种文件的后缀文件格式

超星浏览器 002 超星浏览器 003 超星浏览器 !!! 没有下载完成的另时文件 aiff Windows Media Player ani 动画鼠标 ans 记事本 ape Monkey s audioWinamp 2.81以上版本 arj 压缩文件ARJ asp 无效下载文件,重新下载 au Windows Media Player avi Media player金山影霸(如果不能播放请装divx插件) bik bink playerRAD Game Tools bin daemon tool虚拟光驱 bmp 画图(Windows附件) box Lotus Notes c Turbo C;记事本 cab WinRARINSTALL SHELDWinzip caj Cajviewer ccd daemon tool cdr Corel DRAWfreehand chm Windows帮助文件,直接打开 cmb ComicGURU cpp C++记事本 cue daemon tool cur 静态鼠标 Dat 不确定打开方式,多种格式的数据文件 db SQL数据库文件 dbf FoxbaseDbaseVisual FoxPro ddb Protel 99 se dfi 东方光驱魔术师 doc Microsoft Word dwg AutoCAD eml outlook fla Macromedia Flash 6 gba game boy advanced的文件,游戏模拟器 gho Norton Ghost gif AcdseeInternet Explorer hlp Windows帮助文件,可以直接打开 htm Internet Explorer ico Windows图标AcdSee img daemon toolWinimg inf 记事本 ini 记事本

标准文件正文格式范文文件标准格式

标准文件正文格式范文文件标准格式我们以前做过的一个项目的文档标准,你参考一下吧: 1、标题居中,宋体二号字加粗 2、首页与目录单独成页,页码单独设置为i,ii 3、全文采用A4纸打印; 4、页面设置:上3.5cm,下2.6cm,左2.7cm,右2.7cm,页眉2.4cm,页脚2.0cm; 5、目录采用超链接直接生成(或者选中模板目录内容,点右键选“更新域”),采用四号字,每章题目用黑体,每节题目用宋体,页码号右对齐(此页需重新设置); 6、全文的行间距均为固定值22磅,段前、段后均为0磅;唯独公式、图片需采用单倍行距; 7、正文字体一律采用宋体;章节题目中一级、二级标题(居中)采用小三号字加黑,三级标题(左对齐)采用小四号字加黑;

正文中汉字采用小四号宋体,西文采用小四号“Times New Roman”; 8、每节题目与正文间空一个标准行(小四,行间距为22磅);每章的开始必须另起一页; 9、图标位置居中,采用五号宋体加粗,图标置于图的正下方;(另外图2?1中的2表示章,1表示本章的第1个图,表格和公式与此相同); 10、表头位置居中,采用五号宋体加粗,表头置于表的正上方,例如“表2?1 图像文件格式比较”,表体的上下端线一律使用粗实线(1.5磅),其余表线用细实线(0.5磅),表的左右两段不应封口(即没有左右边线),表内文字一律采用上下居中与对齐,五号宋体; 11、公式均居中,其标号右对齐,以章分组编号,例如 “(3?5)”表示第3章的第5个公式。 标题:黑体或宋体加粗,小二号,居中,行距30—36磅,段后空半行。

正文:宋体,四号,两端对齐,行距22—26磅(根据需要确定),首行缩进2个字符。 纸张:A4 页边距:上、下2.2—2.5厘米,右2—2.3厘米,左2.5—3厘米。 政府公文写作:排版中公文格式的字体要求 一、用纸: 1、公文纸一般采用国内通用的16开型,推荐采用国际标准A4型; 2、供张贴公文用纸的幅面尺寸,可根据实际需要确定。 二、字体 1、文头的字体:大号黑体字、黑变体字或标准体、宋体字套色(一般为红)

BMP文件格式

BMP文件格式 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Wi ndows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BM P图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBl t()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB 或.RLE作扩展名)。 此图用WinHex软件打开后结果如下:(在介绍完bmp文件格式后会具体分析这些数字,最后也有matlab对此图的分析)注:此图是24位真彩色图。 文件结构 位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如下所示的形式。

位图文件结构可综合在表6-01中。表01 位图文件结构内容摘要

构件详解 1. 位图文件头 位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct tagBITMAPFILEHEADER { /* bmfh */ UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 其中: bfType 说明文件的类型.(该值必需是0x4D42,也就是字符'BM'。我们不需要判断OS/2的位图标识,这么做现在来看似乎已经没有什么意义了,而且如果要支持OS/2的位图,程序将变得很繁琐。所以,在此只建议你检察'BM'标识) bfSize 说明文件的大小,用字节为单位bfReserved1 保留,必须设置为0

各种格式文件之间的转换

一、把PPT转WORD形式的方法 1.利用"大纲"视图打开PPT演示文稿,单击"大纲",在左侧"幻灯片/大纲”任务窗格的“大纲”选项卡里单击一下鼠标,按"Ctrl+A"组合健全选内容,然后使用"Ctrl+C"组合键或右键单击在快捷菜单中选择"复制"命令,然后粘贴到Word 里。 提示:这种方法会把原来幻灯片中的行标、各种符号原封不动的复制下来。2.利用"发送"功能巧转换打开要转换的PPT幻灯片,单击"文件"→"发送"→"MicrosoftWord"菜单命令。然后选择"只使用大纲"单选按钮并单击"确定"按钮,等一会就发现整篇PPT文档在一个Word文档里被打开。 提示:在转换后会发现Word有很多空行。在Word里用替换功能全部删除空行可按"Ctrl+H"打开"替换"对话框,在"查找内容"里输入"^p^p",在"替换为"里输入"^p",多单击几次"全部替换"按钮即可。("^"可在英文状态下用"Shift+6"键来输入。)3.利用"另存为"直接转换打开需要转换的幻灯片,点击"文件"→"另存为",然后在"保存类型"列表框里选择存为"rtf"格式。现在用Word打开刚刚保存的rtf文件,再进行适当的编辑即可实现转换。 4.PPTConverttoDOC软件转换PPTConverttoDOC是绿色软,解压后直接运行,在运行之前请将Word和PPT程序都关闭。选中要转换的PPT文件,直接拖曳到"PPTConverttoDOC"程序里。单击工具软件里的"开始"按钮即可转换,转换结束后程序自动退出。 提示:如果选中"转换时加分隔标志",则会在转换好的word文档中显示当前内容在原幻灯片的哪一页。转换完成后即可自动新建一个Word文档,显示该PPT文件中的所有文字。 ps: 第四种慎用,百度上很多所谓的那个软件都是有病毒的,毒性不小,一般的杀毒软件查不出~~ PDF文档的规范性使得浏览者在阅读上方便了许多,但倘若要从里面提取些资料,实在是麻烦的可以。 二、把PDF转换成Word的方法 Adobe Acrobat 7.0 Professional 是编辑PDF的软件。 用Adobe Acrobat 7.0 Professional 打开他另存为WORD试试看。 或者用ScanSoft PDF Converte,安装完成后不须任何设置,它会自动整合到Word 中。当我们在Word中点击“打开”菜单时,在“打开”对话框的“文件类型”下拉菜单中可以看到“PDF”选项,这就意味着我们可以用Word直接打开PDF 文档了! ScanSoft PDF Converter的工作原理其实很简单,它先捕获PDF文档中的信息,分离文字、图片、表格和卷,再将它们统一成Word格式。由于Word在打开PDF 文档时,会将PDF格式转换成DOC格式,因此打开速度会较一般的文件慢。打开时会显示PDF Converter转换进度。转换完毕后可以看到,文档中的文字格式、版面设计保持了原汁原味,没有发生任何变化,表格和图片也完整地保存下来了,可以轻松进行编辑。 除了能够在Word中直接打开PDF文档外,右击PDF文档,在弹出菜单中选择“Open PDF in Word”命令也可打开该文件。另外,它还会在Outlook中加入一

BMP图像格式分析

BMP图像格式分析 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且 Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP 图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP 图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API 函数也在不断地报陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 BMP图像文件的文件头定义 Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADERl另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADERl 如果图像文件还需要调色板数据,则将其存放在文件头信息之后。 BITMAPFIlEHEADER数据结构在Windows.h中的定义为: typedef struCttagBITMAPFIlEHEADER { WORD bftype; DWORD bfsiZe: WORD bfReservedl; WORD bgReserved2: DWORD bfoffBits: }BITMAPFILEHEADER; 其中,bfrype在图像文件存储空间中的数据地址为0,数据类型为unsignedchar,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。 bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。 bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像数据在文件内的起始地址,即图像数

相关文档
最新文档