如何用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位绘图正常.
答案
biBitCount为8时要建立调色板和颜色表,真彩色(如:24位位图)则不需要调色板和颜色表.(我猜想之所以这样处理,是出于节省内存的考虑.因为对于24位位图,它能表示的颜色数很多,如果要建一个颜色表,这个颜色表本身的开...
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 苯酚钠与二氧化碳反应 为什么不能生成Na2CO3
- 英语写作2(一经采用奖励5分)
- 英语翻译
- 填上适当的介词.:1.neck( )neck 2.hand( )hend 3.face( )face 4.shoulder( )shoulder
- 【英语选择】tom,__ to your teachers carefully in class and you ___it easy to study well.
- who called the police?a shop assistant( )
- 初二英语作文:明天星期六将举行一次野外徒步旅行,请以班主任的身份拟一份60词口头通知.
- 甲、乙两人分别从相距7km的A,B两地同时同向前往C地,早晨6点乙徒步从B地出发,甲骑自行车在早晨6点15分从A地出发追赶乙,倍,在上午8时45 分追上乙,求甲骑自行车的速度是多少.
- 2004年2月28日是星期六,那么2010年2月28日是星期几?
- 一块长方形的钢板,长85分米,宽75分米,把它切割成一个最大的正方形,面积比原来减少多少平方分米?