当前位置: > 如何用DIB绘制8位的灰度图像?绘出的灰度图像为什么出现蓝色和红色?...
题目
如何用DIB绘制8位的灰度图像?绘出的灰度图像为什么出现蓝色和红色?
程序片段:
m_bmpInfoHeader1.biSize = sizeof(BITMAPINFOHEADER);
m_bmpInfoHeader1.biPlanes = 1;
m_bmpInfoHeader1.biBitCount = 8;
m_bmpInfoHeader1.biHeight = 720;
m_bmpInfoHeader1.biWidth = 1280;
m_bmpInfoHeader1.biClrImportant = 0;
m_bmpInfoHeader1.biClrUsed = 256;
m_bmpInfoHeader1.biCompression = BI_RGB;
m_bmpInfoHeader1.biSizeImage = 0;
m_bmpInfoHeader1.biXPelsPerMeter = 0;
m_bmpInfoHeader1.biYPelsPerMeter = 0;
使用一下语句绘图:
DrawDibDraw=(ghdd,hDC,0,0,1280,720,&m_bmpInfoHeader1,pPtrPicData1,0,0,1280,720,0);
这样绘出的图像会出现蓝色和红色,用DrawDibDraw绘8位灰度图像是不是需要建立颜色表和调色板?另外,使用24位绘图正常.

提问时间:2021-03-31

答案
biBitCount为8时要建立调色板和颜色表,真彩色(如:24位位图)则不需要调色板和颜色表.(我猜想之所以这样处理,是出于节省内存的考虑.因为对于24位位图,它能表示的颜色数很多,如果要建一个颜色表,这个颜色表本身的开...
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.