逻辑调色板及系统调色板.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
逻辑调色板及系统调色板

逻辑调色板和系统调色板 先来用通俗的语句讲解位图和调色板的概念。 我们知道,自然界中的所有颜色都可以由红、绿、蓝(R,G,B)三基色组合而成。针对含有红、绿、蓝色成分的多少,可以对其分别分成0~255个等级,而红、绿、蓝的不同组合共有256×256×256种,因此约能表示1600万种颜色(16m色)。对于人眼而言,这已经是真彩色了。这就是24位图或其以上的位图比如32,,34之类的,,,这种位图的图像数据中的每个像素都用了三个字节来描述记录它. 什么是图像数据?接下来会谈到一个位图文件结构,它包括文件头(用来说明文件),文件信息头(位图属性),,图像数据(位图主体数据所在) 对每个像素进行了(R,G,B)量化的图像就是位图,其在计算机中对应文件的扩展名一般为.bmp。既然用R,G,B的量化值就可以直接记录一张位图的所有像素,那我们需要调色板干什么呢? 首先,我们可以计算完全利用(R,G,B)组合来存储一个800×600的位图所需要的空间为: 800×600×3 = 1440000(字节)= 1.37M(字节) 3是记录每个像素RGB值所用的字节数,这里说的是24位图,RGB值就用来描述一个像素,,位图是由像素组成的,,因此用一张位图大小乘它的像素数就可以直接描述一张位图 惊人的大!因此,调色板横空出世了,它的功能在于缓解位图文件存储空间(显存或系统内存)过大的问题。 在win os中存在三种调色板,,硬件调色板,逻辑调色板,系统调色板,,winos用调色板管理器机制来管理调色板,,调色板存在于一个位图文件中,一个窗体的DC中,,或OS中,,硬件调色板就是显卡适配器所能实际表达的颜色深度,,逻辑调色板就是winos通过调色板管理机制为每个窗体应用程序DC分配的调色板(系统调色板只有一个,而逻辑调色板可以有多个,,它的本质就是一块内存中的区域用于描述当前应用使用到的调色板,我们都知道调色板是一个结构),,所以逻辑调色板的用途在于模拟硬件调色板,,以使windows作为一个os可以为界面显示,图像显示等应用提供它们各自专用的活动的调色板,,当逻辑调色板色深小于或大小硬件调色板时,,winos通过调色板管理机制自动让二者谐和,,系统调色板就是winos当前正在使用到的调色板,逻辑调色板可以通过调色板管理机制转变为当前系统调色板,,,但是不管winos的调色板管理机制如何,,最终的调色板都要靠硬件调色板来实现 假设一个位图为16色,16色就是上面谈到的可以表示多少种颜色,计算一下,2的4次方=16,因此它是4位图,我们只需要在图像数据中用4个bit就可以存储这个位图的每个像素在16种颜色中所处的等级,接下来会谈到调色板索引所占的空间字节数,,因为它只是一个索引,所占的空间会比图像数据RGB结构小很多,,,再设其像素总数为800×600(位图大小)。然后调色板提供了这16种等级对应的(R,G,B)值,这样,存这个16色位图只需要: 800×600×4/8(0.5个字节) = 240000(字节)= 0.22 M(字节)?? 注意:16色图查询它在调色板中的RGB组合所用的索引需要占用4个BIT,,这是为什么?下面解释一下: 4位2进制数可以表示16种情况,8位BIT可以表示现实中我们使用的十进制的0~255种情况,, 额外的存储R,G,B表的开销(即调色板Palette,也称为颜色查找表LUT)仅仅为16×3=48字节。 存储空间被大为减少! 常见的位图有单色(实际是1位图,,2的一次方为2,,因此它是2色图,,黑白色)、16色(实际是4位图,,2的4次方16,,因此它能表示16种颜色)、256色(实际是8位图,,这种位图的每个像素都用8位刚好一个字节来表示,2的8次方为256,因此它能表示256种颜色也即256种RGB的组合也即这种位图的色深)、16位(2的16次方=65536)及24位(2的24次方=1677万种颜色和256级灰度值 色深差不了很多,所以效果其实与16位图不相差几多)真彩色5种,对于前三者(即不大于256色)都可以调色板方式进行存储,而对16位及24位真彩色以调色板进行存储是不划算的,它们直接按照R,G,B分量进行存储。 在此基础上我们来分析DDB位图(Device-dependent bitmap,与设备相关的位图)与DIB位图(Device-independent bitmap,与设备无关的位图)的概念以及二者的区别。 DDB依赖于具体设备,它只能存在于内存中(视频内存或系统内存),其颜色模式必须与特定的输出设备相一致,使用系统调色板。一般只能载入色彩较简单的DDB位图,对于颜色较丰富的位图,需使用DIB才能长期保存。 DIB不依赖于具体设备,可以用来永久性地保存图象。DIB一般是以*.BMP文件的形式保存在磁盘中

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档