BITMAP结构中有两个变量bmPlanes和bmBitsPixel书上解释:这两个变量分别表示“颜色位面数”以及每个颜色位面中每个位的像素数。
两个问题:
1.什么是颜色位面数?
2.每个位的像素数什么意思?这里的位说的是什么?bit?bit也就0和1,如何表示像素数google了一下,资料很少。能不能帮我更详细的解释一下,谢谢了。我是这样想理解的,bitmap中把每种颜色都放在一个层上面,有几种颜色就有几个面。不知道对不对,迷糊。。

解决方案 »

  1.   

    bmBitsPixel是指每个像素的2进制位数,比如32位色彩图这个bmBitsPixel就是32
      

  2.   

    对于DIB(Device Independent Bitmap)来说bmPlanes必须是1,这是msdn的原话
      

  3.   

    2.每个位的像素数什么意思?这里的位说的是什么?bit?bit也就0和1,如何表示像素数
    ------------------------
    是说一个像素用多少个BIT表示,一个字节是8个BIT,这个你知道吧?纯黑白位图bmBitsPixel就是1,0表示黑,1表示白,那么一个字节就可以表示8个像素,32位色的位图需要用4字节表示一个字节,比如红色是0x00FF0000,那么bmBitsPixel就是32,系统怎么知道一个字节是表示了位图的多少像素,就是靠这个bmBitsPixel。