BMP图形格式分析和图象显示p教学案例

上传人:youn****329 文档编号:239554561 上传时间:2022-01-14 格式:PPT 页数:41 大小:594KB
返回 下载 相关 举报
BMP图形格式分析和图象显示p教学案例_第1页
第1页 / 共41页
BMP图形格式分析和图象显示p教学案例_第2页
第2页 / 共41页
BMP图形格式分析和图象显示p教学案例_第3页
第3页 / 共41页
BMP图形格式分析和图象显示p教学案例_第4页
第4页 / 共41页
BMP图形格式分析和图象显示p教学案例_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《BMP图形格式分析和图象显示p教学案例》由会员分享,可在线阅读,更多相关《BMP图形格式分析和图象显示p教学案例(41页珍藏版)》请在金锄头文库上搜索。

1、单击此处编辑母版标题样式单击此处编辑母版副标题样式本次课程安排v本设计的目的、内容和基本要求v课程设计题目与设计内容简介v基本绘图函数介绍v模拟嵌入式实时操作系统简介1. 本设计的目的、内容和基本要求目的v本课程设计的目的是通过一个小设计实例来加深对C语言的理解和应用,在完成了本次课程设计后能够较为熟练的使用C语言编写小规模的应用程序以实现特定的功能。1. 本设计的目的、内容和基本要求基本要求v程序具有较强的可读性,关键代码必须有注释;v注意代码的书写风格。2. BMP图像显示利用C 语言实现BMP 格式图象文件的分析和显示。主要内容包括: 完成BMP 格式图像的显示,要求在提供的画布上循环的

2、显示某一文件夹下面所有的BMP 文件(支持所有BMP格式);实现图像的特效显示(淡入淡出,百页窗等等)。 2. BMP图像显示2.1 计算机中的颜色2.2 BMP文件格式2.3 RLE压缩算法简介2.1 计算机中的颜色表示v计算机如何表示颜色 三基色原理(Red Green Blue),每一基色用一个字节表示; 可以在Winsows自带的画图软件中自己配色来了解计算机中如何表示颜色。红色:0 xFF 0 x00 0 x00白色:0 xFF 0 xFF 0 xFF黑色:0 x00 0 x00 0 x002.1 计算机中的颜色表示v单色(21)v4位色(24)v8位色(28)v16位色(216)v

3、24位色(224)v32位色(232)需要调色板(颜色表)不需要调色板?2.1 计算机中的颜色表示v 一个2*8的图形如何表示(1)24位 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff 0 xff0000 0 x0000ff(2)16位(565模式) 0 xf800 0 x001f 0 xf800 0 x001f 0 xf800 0 x001f 0 xf800 0

4、 x001f 0 xf800 0 x001f 0 xf800 0 x001f 0 xf800 0 x001f 0 xf800 0 x001f位图数据2.1 计算机中的颜色表示v 一个2*8的图形如何表示(3)1位 建立调色板 0:0 xff0000 1:0 x0000ff 位图数据 01010101 10101010 (0 x55 0 xaa)(4)8位 建立调色板 0:0 xff0000 1:0 x0000ff . . . . 255: 0 x000000 位图数据 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x

5、01 0 x00 0 x01 0 x00 0 x01 0 x00位图数据2.2 BMP文件格式一般BMP文件可以看成4个部分组成:vBMP文件头vBMP信息头v颜色表(调色板) (optional)v定义BMP位图数据2.2 BMP文件格式1.BMP文件头文件信息头字节偏移名称大小内容0 x0000文件标识2字节识别位图的类型,一般为“BM”0 x0002文件大小4字节文件大小(以字节为单位)0 x0006保留4字节保留,设置为00 x000a位图数据偏移4字节从文件开始到位图数据开始之间的偏移量(字节为单位)2.BMP信息头 图象信息头字节偏移名称大小内容0 x000e信息头长度4信息头长度

6、0 x0012宽4位图的宽度0 x0016高4位图的高度0 x001a面数2位图的面数,总是10 x001c位/象素2每个象素的位数 0 x001e压缩4压缩说明 0 x0022位图数据大小4位图数据的大小0 x0026水平分辨率4水平分辨率0 x002a垂直分辨率4垂直分辨率0 x002e颜色数4位图使用的颜色数0 x0032重要颜色4指定重要的颜色数。2.2 BMP文件格式2.2 BMP文件格式3.颜色表(调色板)颜色表字节偏移名称大小内容根据BMP版本的不同而不同调色板N4调色板规范。对于调色板中的每个表项,这4个字节用下述方法来描述RGB的值: 蓝色分量: 1字节绿色分量: 1字节红色

7、分量: 1字节填充符: 1字节2.2 BMP文件格式4.位图数据图象数据字节偏移名称大小内容根据BMP版本的不同而不同位图图象数据不定该域的大小取决于压缩方法及图像的尺寸和图像的位深度,它包含所有的位图数据字节,这些数据可能是彩色调色板的索引号,也可能是实际的RGB值,这将根据图像信息头中的位深度值来决定。2.2 BMP文件格式v实例分析 实例1基本属性:宽:107 高:47 颜色深度:24位色文件大小:15282图象头BM文件大小0 x3BB2保留字段0 x0000位图数据开始偏移图象头信息大小位图宽度0 x6B107位图高度0 x2F=47图象面数颜色深度0 x182424位色压缩方式无压

8、缩位图数据大小0 x7C3B位图数据区域2.2 BMP文件格式v实例分析 实例2基本属性:宽:107 高:47 颜色深度:8位色文件大小:6154文件标识BM文件大小0 x180A保留字段0 x0000图象数据开始偏移图象信息头大小图象宽度0 x6B107图象高度0 x2F47图象面数1位数/象素0 x88位色压缩方式0无压缩位图数据大小(字节)0 x13D4颜色表(调色板)区域位图数据区域2.3 RLE压缩算法简介v为什么压缩?v压缩方法分类? 考虑未压缩的BMP文件,它们通常比同一幅图像的经过压缩后的文件格式要大很多。例如,一个800600的24位几乎占据1.4MB空间。因此它们通常不适合

9、在网络或者其他应用场合。1. 无损压缩, 如:RLE,Huffman等等;2. 有损压缩,如:DCT等等从数据冗余的角度对数据进行压缩,无损压缩方法的优点是能够比较好地保持图像的质量,但是相对来说这种方法的压缩率比较低。压缩数据 原始数据如:RAR,winzip等等文件压缩有损压缩利用了人类对图像或声波中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全回复原始数据,但是所损失的部分对理解原始图像的影响缩小,却换来了大得多的压缩比。有损压缩广泛应用于语音,图像和视频数据的压缩 。原始数据 压缩数据例如:mp3,jpeg,mpeg等等2.3 RLE压缩算法简介行程压缩编码(R

10、un Length Encoding)1.BI_RLE8 每个象素为8比特的RLE压缩编码,可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式可在同一幅图中的任何地方使用。 编码方式 绝对方式 由2个字节组成,第一个字节指定使用相同颜色的象素数目,第二个字节指定使用的颜色索引。此外,这个字节对中的第一个字节可设置为0,联合使用第二个字节的值表示: 第二个字节的值为0:行的结束。 第二个字节的值为1:图象结束。 第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。 绝对方式:第一个字节设置为0,而第二个字节设置为0 x030 xFF之间的一个值。在这种方式中

11、,第二个字节表示跟在这个字节后面的字节数,每个字节包含单个象素的颜色索引。 示例:如下面用16进制表示的8-位压缩图象数据序列 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01 这些压缩数据可解释为 : 压缩数据扩展数据03 0404 04 0405 0606 06 06 06 0600 03 45 56 67 0045 56 6702 7878 7800 02 05 01从当前位置右移5个位置后向下移一行02 7878 7800 00行结束09 1E1E 1E 1E 1E 1E 1E 1E 1E 1

12、E00 01RLE编码图象结束行程压缩编码(Run Length Encoding)1.BI_RLE4 每个象素为4比特的RLE压缩编码,同样也可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式也可在同一幅图中的任何地方使用 。 编码方式 绝对方式 由2个字节组成,第一个字节指定象素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个象素使用高4位的颜色索引,第二个使用低4位的颜色索引,第3个使用高4位的颜色索引,BI_RLE4也同样联合使用第二个字节中的值表示: 第二个字节的值为0:行的结束。 第二个字节的值为1:图象结束。 第二个字节的值为2:其后的两个字节表示下一

13、个象素从当前开始的水平和垂直位置的偏移量。 这个字节对中的第一个字节设置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节的高、低4位中,一个颜色索引对应一个象素。2.3 RLE压缩算法简介2.3 RLE压缩算法简介 示例:如下面用16进制表示的4-位压缩图象数据序列 03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 09 1E 00 01 这些压缩数据可解释为 : 压缩数据扩展数据03 040 4 005 060 6 0 6 000 06 45 56 67 004 5 5 6 6 704 78

14、7 8 7 800 02 05 01从当前位置右移5个位置后向下移一行04 787 8 7 800 00行结束09 1E1 E 1 E 1 E 1 E 100 01RLE编码图象结束3. 滚动字幕的实现主要内容包括:1. 熟悉点阵字库的存取规则;2. 读取文件的输入信息,包括滚动方式,显示位置、尺寸以及内容等;3.利用C语言实现在指定位置滚动显示文件中的内容。3. 滚动字幕的实现v 点阵字库简介v 区位码 GB2312字符集构成一个94行、94列的表,行号称为区号,列号称为位号,每一个汉字用它所在的区号和位号来表示;v 机内码 一个汉字字符由两个字节的机内码表示,分别称为高字节内码和低字节内码

15、。它们和区位码的联系在于: 区码高字节内码0 xa0,位码低字节内码0 xa0。 如:汉字 “升”,机内码为 0 xc9fd 区码=0 xc9-0 xa0=0 x29 位码=0 xfd-0 xa0=0 x5d3. 滚动字幕的实现v汉字点阵字库存放方式 从第1区15区 符号 从第16区55区 一级汉字 从第56区87区 二级汉字v字模在字库中按照区位码从小到大排列v每字符占字库大小由点阵大小决定,如1616点阵的字库,每个字符占32字节 2424点阵的字库,每个字符占72字节4. 基本绘图函数介绍1.GFMDrawPixel();2.GFMDrawLine();3.GFMDrawRectangl

16、e();4.GFMDrawCircle();5.GFMReadRectangle();6.GFMWriteRectangl();4. 基本绘图函数介绍1.GFM_DrawPixel(INT32U whichColor, INT32U x, INT32U y, INT32U pixelCount)(15,10)GFM_DrawPixel( 0 xFFFF0000, 15, 10, 1);(12,35)GFM_DrawPixel( 0 xFFFF0000, 12, 35, 4);4. 基本绘图函数介绍2.GFMDrawLine(INT32U startX,INT32U startY,INT32U endX, INT32U endY,INT32U Color);GFM_DrawLine( 0,26,16,26,0 xFFFF0000);GFM_DrawLine( 12,2,2,12,0 xFFFF0000, );(12,2)(2,12)(16,26)(0,26)4. 基本绘图函数介绍3.GFMDrawRectangle(INT32U x,INT32U y,INT32U width,INT32

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号