BMP图形格式分析和图象显示ppt课件_第1页
BMP图形格式分析和图象显示ppt课件_第2页
BMP图形格式分析和图象显示ppt课件_第3页
BMP图形格式分析和图象显示ppt课件_第4页
BMP图形格式分析和图象显示ppt课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本次课程安排本次课程安排v本设计的目的、内容和基本要求v课程设计题目与设计内容简介v基本绘图函数介绍v模拟嵌入式实时操作系统简介1. 1. 本设计的目的、内容和基本要求本设计的目的、内容和基本要求目的本课程设计的目的是通过一个小设计实例来加深对C语言的理解和应用,在完成了本次课程设计后能够较为熟练的使用C语言编写小规模的应用程序以实现特定的功能。1. 1. 本设计的目的、内容和基本要求本设计的目的、内容和基本要求内容BMP图形格式分析和显示1. 1. 本设计的目的、内容和基本要求本设计的目的、内容和基本要求基本要求程序具有较强的可读性,关键代码必须有注释;注意代码的书写风格。2. BMP2.

2、BMP图像显示图像显示利用C 语言实现BMP 格式图象文件的分析和显示。主要内容包括: 完成BMP 格式图像的显示,要求在提供的画布上循环的显示某一文件夹下面所有的BMP 文件(支持所有BMP格式);实现图像的特效显示(淡入淡出,百页窗等等)。 2. BMP2. BMP图像显示图像显示2.1 计算机中的颜色2.2 BMP文件格式2.3 RLE压缩算法简介2.1 2.1 计算机中的颜色表示计算机中的颜色表示v计算机如何表示颜色v 三基色原理(Red Green Blue),每一基色用一个字节表示;v 可以在Winsows自带的画图软件中自己配色来了解计算机中如何表示颜色。v红色:0 xFF 0

3、x00 0 x00v白色:0 xFF 0 xFF 0 xFFv黑色:0 x00 0 x00 0 x002.1 2.1 计算机中的颜色表示计算机中的颜色表示v单色(21)v4位色(24)v8位色(28)v16位色(216)v24位色(224)v32位色(232)需要调色板需要调色板(颜色表颜色表)不需要调色板不需要调色板?2.1 2.1 计算机中的颜色表示计算机中的颜色表示v 一个2*8的图形如何表示v (124位v 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv 0 xff000

4、0 0 x0000ff 0 xff0000 0 x0000ffv 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv (216位565模式)v 0 xf800 0 x001f 0 xf800 0 x001f v 0 xf800 0 x001f 0 xf800 0 x001fv 0 xf800 0 x001f 0 xf800 0 x001fv 0 xf800 0 x001f 0 xf800 0 x001f位图数据2.1 2.1 计算机中的颜色表示计算机中的颜色表示v 一个2*8的图形如何表示v (31位v 建立调色板v 0:0 xff0000 1:0 x0000ff

5、v 位图数据v 01010101 10101010 (0 x55 0 xaa)v (48位v 建立调色板v 0:0 xff0000 1:0 x0000ff . . . . 255: 0 x000000v 位图数据v 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00v 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00位图数据2.2 BMP2.2 BMP文件格式文件格式一般BMP文件可以看成4个部分组成:BMP文件头BMP信息头颜色表(调色板) (optional)定义BMP位图数据2.2 BMP2.2 B

6、MP文件格式文件格式1.BMP文件头文件信息头字节偏移名称大小内容0 x0000文件标识2字节识别位图的类型,一般为“BM”0 x0002文件大小4字节文件大小(以字节为单位)0 x0006保留4字节保留,设置为00 x000a位图数据偏移4字节从文件开始到位图数据开始之间的偏移量(字节为单位)2.BMP信息头 图象信息头字节偏移名称大小内容0 x000e信息头长度4信息头长度0 x0012宽4位图的宽度0 x0016高4位图的高度0 x001a面数2位图的面数,总是10 x001c位/象素2每个象素的位数 0 x001e压缩4压缩说明 0 x0022位图数据大小4位图数据的大小0 x0026

7、水平分辨率4水平分辨率0 x002a垂直分辨率4垂直分辨率0 x002e颜色数4位图使用的颜色数0 x0032重要颜色4指定重要的颜色数。2.2 BMP2.2 BMP文件格式文件格式2.2 BMP2.2 BMP文件格式文件格式3.颜色表(调色板)颜色表字节偏移名称大小内容根据BMP版本的不同而不同调色板N4调色板规范。对于调色板中的每个表项,这4个字节用下述方法来描述RGB的值: 蓝色分量: 1字节绿色分量: 1字节红色分量: 1字节填充符: 1字节2.2 BMP2.2 BMP文件格式文件格式4.位图数据图象数据字节偏移名称大小内容根据BMP版本的不同而不同位图图象数据不定该域的大小取决于压缩

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

9、47 颜色深度:8位色文件大小:6154文件标识BM文件大小0 x180A保留字段0 x0000图象数据开始偏移图象信息头大小图象宽度0 x6B107图象高度0 x2F47图象面数1位数/象素0 x88位色压缩方式0无压缩位图数据大小(字节)0 x13D4颜色表(调色板)区域位图数据区域2.3 RLE2.3 RLE压缩算法简介压缩算法简介v为什么压缩?v压缩方法分类? 考虑未压缩的BMP文件,它们通常比同一幅图像的经过压缩后的文件格式要大很多。例如,一个800600的24位几乎占据1.4MB空间。因此它们通常不适合在网络或者其他应用场合。 无损压缩, 如:RLE,Huffman等等; 有损压缩

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

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

12、色索引。 例如:如下面用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 1E00 01RLE编码图象结束行程压缩编码(Run Length

13、Encoding)BI_RLE4 每个象素为4比特的RLE压缩编码,同样也可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式也可在同一幅图中的任何地方使用 。 编码方式 绝对方式 由2个字节组成,第一个字节指定象素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个象素使用高4位的颜色索引,第二个使用低4位的颜色索引,第3个使用高4位的颜色索引,BI_RLE4也同样联合使用第二个字节中的值表示: 第二个字节的值为0:行的结束。 第二个字节的值为1:图象结束。 第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。 这个字节对中的第一个字节设

14、置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节的高、低4位中,一个颜色索引对应一个象素。2.3 RLE2.3 RLE压缩算法简介压缩算法简介2.3 RLE2.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 787 8 7 800

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

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

17、Pixel();2.GFMDrawLine();3.GFMDrawRectangle();4.GFMDrawCircle();5.GFMReadRectangle();6.GFMWriteRectangl();4. 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. 4. 基本

18、绘图函数介绍基本绘图函数介绍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. 4. 基本绘图函数介绍基本绘图函数介绍3.GFMDrawRectangle(INT32U x,INT32U y,INT32U width,INT32U height, INT32U color, BO

19、OL fill);(26,10)GFM_DrawRectangle(2,2,25,9,0 xFFFF0000,0); GFM_DrawRectangle(2,2,25,9,0 xFFFF0000,1); (2,2)4. 4. 基本绘图函数介绍基本绘图函数介绍4.GFMDrawCircle(INT32U xCentre,INT32U yCentre,INT32U r,INT32U color,BOOL fill );GFM_DrawCircle(20,15,10,0 xFFFF0000,0 );r=10(20,15)GFM_DrawCircle(20,15,10,0 xFFFF0000,1 );

20、4. 4. 基本绘图函数介绍基本绘图函数介绍5.GFMReadRectangle(INT32U x,INT32U y,INT32U width,INT32U height, INT8U *dest);(x,y)widthheight4. 4. 基本绘图函数介绍基本绘图函数介绍6.GFMWriteRectangl(INT32U x,INT32U y,OSD_RECT rect,UINT8 *source, INT32U width,INT32U height);提示消息5. 5. 实时操作系统简介实时操作系统简介v单任务和多任务(task)v消息和消息队列(message, queue)v信号量

21、(semaphore)5. 5. 实时操作系统简介实时操作系统简介v任务(task)v基本函数调用v UINT32 DTOS_DRV_CreateTask( v void (*task)(void),v INT32U priority,v INT32U stackSize,v INT8S Name);v void DTOS_DRV_DelayTask( INT16 ms);5. 5. 实时操作系统简介实时操作系统简介v 消息和队列(message/queue)v 基本函数调用v UINT32 DTOS_DRV_CreatQueue( vINT32U QueueSize );v INT32S DTOS_DRV_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论