- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.BMP图像的结构与显示
BMP文件是Windows操作系统所推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图(bitmap)文件,因其文件扩展名为BMP,故称为BMP文件格式,简称BMP文件。BMP图像文件被分成4个部分:位图文件头(Bitmap File Header)、位图信息头(Bitmap Info Header)、颜色表(Color Map)和位图数据(即图像数据,Data Bits或Data Body)。颜色表实际上是一个RGBQUAD结构的数组,数组的长度由biClrUsed指定(如果该值为零,则由biBitCount指定,即2的biBitCount次幂个元素)。RGBQUAD结构是一个结构体类型,占4个字节,其定义如下:有些位图需要颜色表;有些位图(如真彩色图)则不需要颜色表,颜色表的长度由BITMAPINFOHEADER结构中biBitCount分量决定。对于biBitCount值为1的二值图像,每像素占1bit,图像中只有两种(如黑白)颜色,颜色表也就有21=2个表项,整个颜色表的大小为个字节;对于biBitCount值为8的灰度图像,每像素占8bit,图像中有28=256种颜色,颜色表也就有256个表项,且每个表项的R、G、B分量相等,整个颜色表的大小为个字节;而对于biBitCount=24的真彩色图像,由于每像素3个字节中分别代表了R、G、B三分量的值,此时不需要颜色表,因此真彩色图的BITMAPINFOHEADER结构后面直接就是位图数据。即图像数据,记录了图像的每一个像素值。对于有颜色表的位图,位图数据就是该像素颜色在调色板中的索引值;对于真彩色图,位图数据就是实际的R、G、B值(三个分量的存储顺序是B、G、R)。Hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
/*Bitmap为Cbitmap类的一个对象,实现图象句柄和类相关连*/
Bitmap.Attach(hbitmap);
/*拷贝位图到屏幕*/
BitBlt(10,10,width,height,dc,0,0,SRCCOPY);
/*拷贝图象并调整显示大小*/
StrwtchBlt(10,10,Rwidth,Rheight,dc,width,height,SRCCOPY);
实际上,由BMP图象文件格式可以很方便地从文件中读出各部分信息,在获得调色板和图象数据后,利用SetDIBitsToDevice函数或StrechDIBits函数来显示图象或打印图象。
2.颜色表的修改
2.1 RGB模型
RGB模式是基于自然界中3种基色光的混合原理,将R、G、B三种基色按照从0(黑)到255(白色)的亮度值在每个色阶中分配,从而指定其色彩,当不同亮度的基色混合后共产生颜色。在理想条件下,加色原理R+G=Y,R+B=M,G+B=C。当3种基色的亮度值相等时,产生灰色,当3种亮度值都是255时,产生纯白色;而当所有亮度值都是0时,产生纯黑色。当3种色光混合生成的颜色一般比原来的颜色亮度值高,所以RGB模式产生颜色的方法又被称为加色混合。
2.2 颜色表的修改
一幅图像有众多的事物,为了按照人们的意愿,传达某种信息,突出自己最想表达的信息,可以用色彩来完成!那么,在我们的图像中如何完成这样的任务呢?
256色的BMP格式的图像是有颜色表的。颜色表分R,G,B三种基色。首先,我们应该把颜色表找到并提取出来。根据BMP图像数据存储的特点,我们很容易找到颜色表。找到颜色表之后,按照我们的需要,我们所想表达突出的色彩就可以通过修改颜色表的R,G,B三基色的值来完成。将三基色提取出来,并恰当的更改三基色在0到255间的值的大小,使得某种颜色变得突出,以来表达我们想要突出的色彩!例如我们想使花变的更红一些,我们就可以适当的增加R基色在0到255间的值,减小G,B两种基色的大小,也就是改变G、B基色在0到255间的值,那么红色的像素点就会增加红的级数,这样就会使图像的红色更加突出。同理,适当增加G基色在0到255间的值,减小R,B两种基色在0到255间的值,绿色的像素点也就相应的增加了级数,那么就可以使图像的绿色更加突出。例如在一幅春天草地的图像中,增加G基色的级数,就可以使小草显得生机勃勃,以表达春意盎然的景象和情感,完成我们的表达重点了!
我们更改了256色的BMP格式的颜色表,让原有的图像的某种颜色更加突出,来实现我们所需要的色彩的突出。我们更改某种基色,或者更改几种基色,即重新给某种基色在0到255
您可能关注的文档
最近下载
- 【社会层面】社会主义核心价值观.ppt VIP
- 回话有招高情商回话术书本.doc VIP
- 【社会层面】社会主义核心价值观精品课件.ppt VIP
- 沪教8AUnit6Ancientstories more practice-The story of 100,000 arrows 公开课优质课教案教学设计.doc
- 小学《科学》新教材培训研讨会:技术与工程领域总体介绍.pptx
- 2024年中考英语复习 并列复合句 讲义学案(解析版).pdf VIP
- 血常规结果解释ppt课件.pptx VIP
- 第16课 课件 2022-2023学年高中新经典日本语基础教程第二册.pptx VIP
- 软件工程专业生涯发展展示.pptx
- 成人脑室外引流护理——中华护理学会团体标准解读.pptx
文档评论(0)