在OnDraw()函数里面,参数为CDC *pDC;
现有pBits是指向一个 w * h 的位图数据矩阵
由于是256灰度位图,所以只有8位位图数据,pBits使用unsigned char *类型
现在的问题是:如何将pBits 显示到pDC上?
是否要生成灰度位图调色板、选入调色板?
但是pDC的bitblt和stretchBlt里面要用到DC类型的参数作为源数据,而现在只有数据矩阵,怎么办?
难道只能在使用SetPixel一个象素一个象素的显示?
CreateBitmap出来的,只有和屏幕颜色深度一样才能BitBlt出来
否则就SetPixel吧
CreatePalette, Palette之256个颜色R,G,B相同且线性(或按一定规律如对数/指数)递增。
然后将它选进DC中。
显示位图用StretchDIBits,其中有一个BITMAPINFO型参数需要造出来,还有一个lpBits参数指向w * h 的位图数据矩阵。
好像MSDN里有一个叫"DibLook"的例子可以参考。
SetPixel比较慢
CreateBitmap
BitBlt
具体用法,看看csdn