Windows位图和调色板课件

上传人:M****1 文档编号:568643069 上传时间:2024-07-25 格式:PPT 页数:23 大小:190.50KB
返回 下载 相关 举报
Windows位图和调色板课件_第1页
第1页 / 共23页
Windows位图和调色板课件_第2页
第2页 / 共23页
Windows位图和调色板课件_第3页
第3页 / 共23页
Windows位图和调色板课件_第4页
第4页 / 共23页
Windows位图和调色板课件_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Windows位图和调色板课件》由会员分享,可在线阅读,更多相关《Windows位图和调色板课件(23页珍藏版)》请在金锄头文库上搜索。

1、WindowsWindows位图和调色板位图和调色板主讲教师:余艳玮 2024/7/251Windows位图和调色板复习复习什么是数字媒体?什么是数字媒体?数字媒体信息安全数字媒体信息安全 课程的重要性课程的重要性经济驱动:经济驱动:数字媒体技术的盛行,有极大的应用市场数字媒体技术的盛行,有极大的应用市场但是随着数字处理技术和下一代网络的发展,数字但是随着数字处理技术和下一代网络的发展,数字媒体的安全问题日益突出媒体的安全问题日益突出但不能直接将模拟时代的多媒体安全技术用在但不能直接将模拟时代的多媒体安全技术用在数字媒体中数字媒体中必须专门研究数字媒体领域内的信息安全技术必须专门研究数字媒体领

2、域内的信息安全技术2024/7/252Windows位图和调色板位图和调色板数字媒体安全数字媒体安全传输通道中的安全传输通道中的安全-图像图像/视频加密视频加密完全解密以后的安全完全解密以后的安全访问控制访问控制-数字水印数字水印隐秘通信隐秘通信-信息隐藏信息隐藏版权保护版权保护-数字水印数字水印多媒体认证多媒体认证-数字签名和数字水印数字签名和数字水印(事前保护措施)(事后保护措施)2024/7/253Windows位图和调色板位图和调色板提提 纲纲1 位图和调色板的概念位图和调色板的概念 2 位图文件的格式位图文件的格式2024/7/254Windows位图和调色板位图和调色板一、位图和调

3、色板的概念一、位图和调色板的概念 2024/7/255Windows位图和调色板位图和调色板位图位图位图位图(.bmp文件):文件):采用位映象位映象方法显示和存储显示和存储的图象 位映象位映象:一个:一个二维二维的的象素矩阵象素矩阵 象素:象素:普通的显示器屏幕是由许许多多的点构成的,我们称之为象素象素显示时采用扫描的方法:显示时采用扫描的方法:电子枪每次从左到右扫描一行,为每个象素着色着色,然后从上到下这样扫描若干行,就扫过了一屏。为了防止闪烁防止闪烁,每秒要重复上述过程几十次。例如我们常说的屏幕分辨率屏幕分辨率为640*480,刷新频率刷新频率为70Hz,意思是说每行要扫描640个象素,

4、一共有480行,每秒重复扫描屏幕70次。2024/7/256Windows位图和调色板位图和调色板黑白图黑白图右上图是一幅普通的右上图是一幅普通的黑白位图黑白位图右下图是被放大后的右下图是被放大后的图,图中每个方格代图,图中每个方格代表了一个象素表了一个象素可以看到:整个骷髅可以看到:整个骷髅就是由这样一些黑点就是由这样一些黑点和白点组成的和白点组成的 2024/7/257Windows位图和调色板位图和调色板彩色图彩色图三元色三元色RGB:自然界中的所有颜色都可以由红,绿,蓝(R,G,B)组合而成。根据红,绿,蓝各种不同的组合我们就能表示出256*256*256,约1千6百万种颜色。当一幅图

5、中每个象素赋予不同的当一幅图中每个象素赋予不同的RGB值时,值时,就能呈现出五彩缤纷的颜色了,这样就形就能呈现出五彩缤纷的颜色了,这样就形成了成了彩色图彩色图2024/7/258Windows位图和调色板位图和调色板有一个长宽各为200个象素,颜色数为16色的彩色图。若每一个象素都用R,G,B三个分量表示,因为每个分量有256个级别,要用8位(bit),即一个字节(byte)来表示,所以每个象素需要用3个字节。整个图象要用200*200*3,约120k字节有没有更节省存储空间的办法呢?有没有更节省存储空间的办法呢?2024/7/259Windows位图和调色板位图和调色板调色板调色板(Pale

6、tte)对于一个16色图色图,也就是说这幅图中最多只有最多只有16种颜色种颜色,我们可以用一个表表(Palette):表中的每一行记录一种颜色的R,G,B值。这样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。举个例子,如果表的第0行为255,0,0(红色),那么当某个象素为红色时,只需要标明0即可。让我们再来计算一下:16种状态可以用4位(bit)表示,所以一个象素要用半个字节。整个图象要用200*200*0.5,再加上表占用的字节为3*16=48字节,总共20048字节(约20k字节)整个占用的字节数约为前面的整个占用的字节数约为前面的1/62024/7/2

7、510Windows位图和调色板位图和调色板真彩色图真彩色图(24位色图位色图)真彩色图真彩色图(TrueColor):颜色数高达:颜色数高达256*256*256种,也就种,也就是说包含我们上述提到的是说包含我们上述提到的R,G,B颜色表示方法中所有的颜色表示方法中所有的颜色。颜色。真彩色图真彩色图并不是并不是说一幅图说一幅图必须包含所有的颜色必须包含所有的颜色,而是说它,而是说它具有显示所有颜色的能力,即具有显示所有颜色的能力,即最多可以包含所有的颜色最多可以包含所有的颜色。表示真彩色图时,每个象素表示真彩色图时,每个象素直接用直接用R,G,B三个分量字节三个分量字节表示表示,而,而不采用

8、调色板技术不采用调色板技术如果用调色板,表示一个象素也要用如果用调色板,表示一个象素也要用24位,这是因为每种颜色的位,这是因为每种颜色的索引要用索引要用24位(因为总共有位(因为总共有2的的24次方种颜色,即调色板有次方种颜色,即调色板有2的的24次方行次方行),和直接用,和直接用R,G,B三个分量表示用的字节数一样,不但三个分量表示用的字节数一样,不但没有任何便宜,还要加上一个没有任何便宜,还要加上一个256*256*256*3个字节的大调色板。个字节的大调色板。2024/7/2511Windows位图和调色板位图和调色板二、位图文件的格式二、位图文件的格式2024/7/2512Windo

9、ws位图和调色板位图和调色板2024/7/2513Windows位图和调色板位图和调色板BITMAPTypedef struct tagBITMAP WORD bfType;/指定文件类型,必须是指定文件类型,必须是0x424D,即字符,即字符 串串BM DWORD bfSize;/指定文件大小指定文件大小(Byte),包括这包括这14个字节个字节 WORD bfReserved1;/保留字保留字1 WORD bfReserved2;/保留字保留字2 DWORD bfOffBits;/为从文件头到实际的位图数据的偏为从文件头到实际的位图数据的偏 移字节数移字节数 BITMAP; 结构的结构的长

10、度长度是是固定固定的,为的,为14个字节个字节2024/7/2514Windows位图和调色板位图和调色板结构的结构的长度长度是是固定固定的,为的,为14个字节个字节(WORD为无为无符号符号16位整数,位整数,DWORD为无符号为无符号32位整数)位整数)各个域的说明如下:各个域的说明如下:bfType:指定文件类型,必须是指定文件类型,必须是0x424D,即字符串,即字符串BM,也就是说所有,也就是说所有.bmp文件的头两个字节都是文件的头两个字节都是BMbfSize:指定文件大小指定文件大小(Byte),包括这包括这14个字节个字节bfReserved1,bfReserved2:为保留字

11、,不用考虑为保留字,不用考虑bfOffBits:为从文件头到实际的位图数据的偏移字节为从文件头到实际的位图数据的偏移字节数,即图中前三个部分的长度之和。数,即图中前三个部分的长度之和。2024/7/2515Windows位图和调色板位图和调色板BITMAPINFOHEADER typedef struct tagBITMAPINFOHEADER DWORD biSize; /指定这个结构的长度,为指定这个结构的长度,为40 LONG biWidth;/指定图象的宽度,单位是象素指定图象的宽度,单位是象素 LONG biHeight;/指定图象的高度,单位是象素指定图象的高度,单位是象素 WOR

12、D biPlanes;/必须是必须是1,不用考虑,不用考虑 WORD biBitCount;/指定表示颜色时要用到的位数指定表示颜色时要用到的位数:1,4,8,24 DWORD biCompression;/指定位图是否压缩指定位图是否压缩 DWORD biSizeImage;/指定实际的位图数据占用的字节数指定实际的位图数据占用的字节数 LONG biXPelsPerMeter;/指定目标设备的水平分辨率指定目标设备的水平分辨率(ppm) LONG biYPelsPerMeter;/指定目标设备的垂直分辨率指定目标设备的垂直分辨率(ppm) DWORD biClrUsed;/指定本图象指定本

13、图象实际实际用到的颜色数用到的颜色数(非非0, 2biBitCount) DWORD biClrImportant;/指定本图象中重要的颜色数指定本图象中重要的颜色数BITMAPINFOHEADER;结构的结构的长度长度是是固定固定的,为的,为40个字节个字节2024/7/2516Windows位图和调色板位图和调色板结构的结构的长度长度是是固定固定的,为的,为40个字节个字节(WORD为无为无符号符号16位整数,位整数,DWORD无符号无符号32位整数位整数,LONG为为32位整数)位整数)各个域的说明如下:各个域的说明如下:biSize:指定这个结构的长度,为指定这个结构的长度,为40bi

14、Width:指定图象的宽度,单位是象素指定图象的宽度,单位是象素biHeight:指定图象的高度,单位是象素指定图象的高度,单位是象素biPlanes:必须是必须是1,不用考虑,不用考虑biBitCount:指定表示颜色时要用到的位数,常用的指定表示颜色时要用到的位数,常用的值为值为1(黑白二色图)(黑白二色图),4(16色图)色图),8(256色)色),24(真彩色图)(新的(真彩色图)(新的.bmp格式支持格式支持32位色,这里就不位色,这里就不做讨论了)。做讨论了)。2024/7/2517Windows位图和调色板位图和调色板biCompression:指定位图是否压缩,有效的值为指定位

15、图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS(都是(都是一些一些Windows定义好的常量)。要说明的是,定义好的常量)。要说明的是,Windows位图可以采用位图可以采用RLE4,和,和RLE8的压缩格式,但用的不多。的压缩格式,但用的不多。我们我们今后所讨论的只有第一种不压缩的情况今后所讨论的只有第一种不压缩的情况,即,即biCompression为为BI_RGB的情况。的情况。biSizeImage:指定实际的位图数据占用的字节数,其实指定实际的位图数据占用的字节数,其实也可以从以下的公式中计算出来:也可以从以下的公式中计算出来: biSi

16、zeImage=biWidth*biHeight 要注意的是:上述公式中的要注意的是:上述公式中的biWidth必须是必须是4的整倍数的整倍数(所以不是(所以不是biWidth,而是,而是biWidth,表示大于或等于,表示大于或等于biWidth的,离的,离4最近的整倍数。举个例子,如果最近的整倍数。举个例子,如果biWidth=240,则,则biWidth=240;如果;如果biWidth=241,biWidth=244)如果)如果biCompression为为BI_RGB,则该项,则该项可能为零可能为零2024/7/2518Windows位图和调色板位图和调色板biXPelsPerMet

17、er:指定目标设备的水平分辨率,指定目标设备的水平分辨率,单位是每米的象素个数,关于分辨率的概念,我单位是每米的象素个数,关于分辨率的概念,我们将在打印部分详细介绍。们将在打印部分详细介绍。biYPelsPerMeter:指定目标设备的垂直分辨率,指定目标设备的垂直分辨率,单位同上。单位同上。biClrUsed:指定本图象实际用到的颜色数,如指定本图象实际用到的颜色数,如果该值为零,则用到的颜色数为果该值为零,则用到的颜色数为2的的biBitCount次次方。方。biClrImportant:指定本图象中重要的颜色数,指定本图象中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。如果该值

18、为零,则认为所有的颜色都是重要的。2024/7/2519Windows位图和调色板位图和调色板Palette 调色板实际上是一个调色板实际上是一个数组数组,共有,共有biClrUsed个元个元素素(如果该值(如果该值为零为零,则有,则有2的的biBitCount次方次方个元个元素)。素)。数组中每个元素的类型是一个数组中每个元素的类型是一个RGBQUAD结构,结构,占占4个字节个字节,其定义如下:,其定义如下: typedef struct tagRGBQUAD BYTE rgbBlue;/该颜色的蓝色分量该颜色的蓝色分量 BYTE rgbGreen;/该颜色的绿色分量该颜色的绿色分量 BYT

19、E rgbRed;/该颜色的红色分量该颜色的红色分量 BYTE rgbReserved;/保留值保留值 RGBQUAD;2024/7/2520Windows位图和调色板位图和调色板实际的图象数据实际的图象数据 对于对于用到调色板用到调色板的位图,图象数据就是该像素颜的位图,图象数据就是该像素颜色在调色板中的色在调色板中的索引值索引值对于对于2色色位图,用位图,用1位位就可以表示该像素的颜色(一般就可以表示该像素的颜色(一般0表示黑,表示黑,1表示白),所以一个字节可以表示表示白),所以一个字节可以表示8个像素。个像素。对于对于16色色位图,用位图,用4位位可以表示一个像素的颜色,所以可以表示一

20、个像素的颜色,所以一个字节可以表示一个字节可以表示2个像素。个像素。对于对于256色色位图,位图,一个字节一个字节刚好可以表示刚好可以表示1个像素。个像素。对于真彩色图,图象数据就是对于真彩色图,图象数据就是实际的实际的R,G,B值。值。对于真彩色图,三个字节才能表示对于真彩色图,三个字节才能表示1个像素。个像素。牺牲空间牺牲空间,来让图的颜色显得更亮丽来让图的颜色显得更亮丽2024/7/2521Windows位图和调色板位图和调色板小小 结结理解位图和调色板的概念理解位图和调色板的概念 理解位图文件的格式理解位图文件的格式2024/7/2522Windows位图和调色板位图和调色板谢 谢!2024/7/2523Windows位图和调色板位图和调色板

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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