Windows位图和调色板.ppt

上传人:san****019 文档编号:20922924 上传时间:2021-04-21 格式:PPT 页数:23 大小:203.10KB
收藏 版权申诉 举报 下载
Windows位图和调色板.ppt_第1页
第1页 / 共23页
Windows位图和调色板.ppt_第2页
第2页 / 共23页
Windows位图和调色板.ppt_第3页
第3页 / 共23页
资源描述:

《Windows位图和调色板.ppt》由会员分享,可在线阅读,更多相关《Windows位图和调色板.ppt(23页珍藏版)》请在装配图网上搜索。

1、Windows位 图 和 调 色 板主讲教师:余艳玮 2021-4-21 2 复习什么是数字媒体?数字媒体信息安全 课程的重要性经济驱动:数字媒体技术的盛行,有极大的应用市场但是随着数字处理技术和下一代网络的发展,数字媒体的安全问题日益突出但不能直接将模拟时代的多媒体安全技术用在数字媒体中必须专门研究数字媒体领域内的信息安全技术 2021-4-21 3数 字 媒 体 安 全 传 输 通 道 中 的 安 全 -图 像 /视 频 加 密完 全 解 密 以 后 的 安 全 访 问 控 制 -数 字 水 印隐 秘 通 信 -信 息 隐 藏版 权 保 护 -数 字 水 印多 媒 体 认 证 -数 字 签

2、 名 和 数 字 水 印(事 前 保 护 措 施 )(事 后 保 护 措 施 ) 2021-4-21 4 提 纲1 位图和调色板的概念 2 位图文件的格式 2021-4-21 5一 、 位 图 和 调 色 板 的 概 念 2021-4-21 6 位图位图(.bmp文件):采用位映象方法显示和存储的图象 位映象:一个二维的象素矩阵 象素:普通的显示器屏幕是由许许多多的点构成的,我们称之为象素显示时采用扫描的方法:电子枪每次从左到右扫描一行,为每个象素着色,然后从上到下这样扫描若干行,就扫过了一屏。为了防止闪烁,每秒要重复上述过程几十次。例如我们常说的屏幕分辨率为640*480,刷新频率为70Hz

3、,意思是说每行要扫描640个象素,一共有480行,每秒重复扫描屏幕70次。 2021-4-21 7 黑白图右上图是一幅普通的黑白位图右下图是被放大后的图,图中每个方格代表了一个象素可以看到:整个骷髅就是由这样一些黑点和白点组成的 2021-4-21 8 彩色图三元色RGB:自然界中的所有颜色都可以由红,绿,蓝(R,G,B)组合而成。根据红,绿,蓝各种不同的组合我们就能表示出256*256*256,约1千6百万种颜色。当一幅图中每个象素赋予不同的RGB值时,就能呈现出五彩缤纷的颜色了,这样就形成了彩色图 2021-4-21 9 有一个长宽各为200个象素,颜色数为16色的彩色图。若每一个象素都用

4、R,G,B三个分量表示,因为每个分量有256个级别,要用8位(bit),即一个字节(byte)来表示,所以每个象素需要用3个字节。整个图象要用200*200*3,约120k字节有没有更节省存储空间的办法呢? 2021-4-21 10 调色板(Palette)对于一个16色图,也就是说这幅图中最多只有16种颜色,我们可以用一个表(Palette):表中的每一行记录一种颜色的R,G,B值。这样当我们表示一个象素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。举个例子,如果表的第0行为255,0,0(红色),那么当某个象素为红色时,只需要标明0即可。让我们再来计算一下: 16种状态可以

5、用4位(bit)表示,所以一个象素要用半个字节。整个图象要用200*200*0.5,再加上表占用的字节为3*16=48字节,总共20048字节(约20k字节)整个占用的字节数约为前面的1/6 2021-4-21 11 真彩色图(24位色图)真彩色图(TrueColor):颜色数高达256*256*256种,也就是说包含我们上述提到的R,G,B颜色表示方法中所有的颜色。真彩色图并不是说一幅图必须包含所有的颜色,而是说它具有显示所有颜色的能力,即最多可以包含所有的颜色。表示真彩色图时,每个象素直接用R,G,B三个分量字节表示,而不采用调色板技术如果用调色板,表示一个象素也要用24位,这是因为每种颜

6、色的索引要用24位(因为总共有2的24次方种颜色,即调色板有2的24次方行),和直接用R,G,B三个分量表示用的字节数一样,不但没有任何便宜,还要加上一个256*256*256*3个字节的大调色板。 2021-4-21 12 二 、 位 图 文 件 的 格 式 2021-4-21 13Windows位图文件结构示意图 2021-4-21 14 BITMAPFILEHEADERTypedef struct tagBITMAPFILEHEADER WORD bfType;/指定文件类型,必须是0 x424D,即字符 串BM DWORD bfSize;/指定文件大小(Byte),包括这14个字节 W

7、ORD bfReserved1;/保留字1 WORD bfReserved2;/保留字2 DWORD bfOffBits;/为从文件头到实际的位图数据的偏 移字节数 BITMAPFILEHEADER; 结构的长度是固定的,为14个字节 2021-4-21 15 结构的长度是固定的,为14个字节(WORD为无符号16位整数,DWORD为无符号32位整数)各个域的说明如下: bfType:指定文件类型,必须是0 x424D,即字符串BM,也就是说所有.bmp文件的头两个字节都是BM bfSize:指定文件大小(Byte),包括这14个字节 bfReserved1,bfReserved2:为保留字,

8、不用考虑 bfOffBits:为从文件头到实际的位图数据的偏移字节数,即图中前三个部分的长度之和。 2021-4-21 16 BITMAPINFOHEADER typedef struct tagBITMAPINFOHEADER DWORD biSize; /指定这个结构的长度,为40 LONG biWidth;/指定图象的宽度,单位是象素 LONG biHeight;/指定图象的高度,单位是象素 WORD biPlanes;/必须是1,不用考虑 WORD biBitCount;/指定表示颜色时要用到的位数:1,4,8,24 DWORD biCompression;/指定位图是否压缩 DWOR

9、D biSizeImage;/指定实际的位图数据占用的字节数 LONG biXPelsPerMeter;/指定目标设备的水平分辨率(ppm) LONG biYPelsPerMeter;/指定目标设备的垂直分辨率(ppm) DWORD biClrUsed;/指定本图象实际用到的颜色数(非0, 2biBitCount) DWORD biClrImportant;/指定本图象中重要的颜色数 BITMAPINFOHEADER; 结构的长度是固定的,为40个字节 2021-4-21 17 结构的长度是固定的,为40个字节(WORD为无符号16位整数,DWORD无符号32位整数,LONG为32位整数)各个

10、域的说明如下: biSize:指定这个结构的长度,为40 biWidth:指定图象的宽度,单位是象素 biHeight:指定图象的高度,单位是象素 biPlanes:必须是1,不用考虑 biBitCount:指定表示颜色时要用到的位数,常用的值为1(黑白二色图),4(16色图),8(256色),24(真彩色图)(新的.bmp格式支持32位色,这里就不做讨论了)。 2021-4-21 18 biCompression:指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS(都是一些Windows定义好的常量)。要说明的是,Windows位图可以采用RL

11、E4,和RLE8的压缩格式,但用的不多。我们今后所讨论的只有第一种不压缩的情况,即biCompression为BI_RGB的情况。 biSizeImage:指定实际的位图数据占用的字节数,其实也可以从以下的公式中计算出来: biSizeImage=biWidth*biHeight 要注意的是:上述公式中的biWidth必须是4的整倍数(所以不是biWidth,而是biWidth,表示大于或等于biWidth的,离4最近的整倍数。举个例子,如果biWidth=240,则biWidth=240;如果biWidth=241,biWidth=244)如果biCompression为BI_RGB,则该项

12、可能为零 2021-4-21 19 biXPelsPerMeter:指定目标设备的水平分辨率,单位是每米的象素个数,关于分辨率的概念,我们将在打印部分详细介绍。 biYPelsPerMeter:指定目标设备的垂直分辨率,单位同上。 biClrUsed:指定本图象实际用到的颜色数,如果该值为零,则用到的颜色数为2的biBitCount次方。 biClrImportant:指定本图象中重要的颜色数,如果该值为零,则认为所有的颜色都是重要的。 2021-4-21 20 Palette 调色板实际上是一个数组,共有biClrUsed个元素(如果该值为零,则有2的biBitCount次方个元素)。数组中

13、每个元素的类型是一个RGBQUAD结构,占4个字节,其定义如下: typedef struct tagRGBQUAD BYTE rgbBlue; /该颜色的蓝色分量 BYTE rgbGreen; /该颜色的绿色分量 BYTE rgbRed; /该颜色的红色分量 BYTE rgbReserved; /保留值 RGBQUAD; 2021-4-21 21 实际的图象数据 对于用到调色板的位图,图象数据就是该像素颜色在调色板中的索引值对于2色位图,用1位就可以表示该像素的颜色(一般0表示黑,1表示白),所以一个字节可以表示8个像素。对于16色位图,用4位可以表示一个像素的颜色,所以一个字节可以表示2个像素。对于256色位图,一个字节刚好可以表示1个像素。对于真彩色图,图象数据就是实际的R,G,B值。对于真彩色图,三个字节才能表示1个像素。牺牲空间,来让图的颜色显得更亮丽 2021-4-21 22 小 结理解位图和调色板的概念 理解位图文件的格式 2021-4-21 23谢 谢!

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!