代码如下:
BITMAP bitmap;subpic->GetBitmap(&bitmap);//subpic是一个已经得到的位图CBitmp对象的指针。
请教高手,上述操作后,要怎样才能得到bitmap数据的数据区。说一下:我看到bitmap数据结构中,一个有元素是LPVOID bmBits;这个东西是不是指向数据的地址呢?
可是我不会操作LPVOID类型,有高手能指点一下该怎么操作吗?

解决方案 »

  1.   

    说一下:我看到bitmap数据结构中,一个有元素是LPVOID bmBits;这个东西是不是指向数据的地址呢?
    可是我不会操作LPVOID类型,有高手能指点一下该怎么操作吗
    ===========
    对于CBitmap类来说,有GetBitmapBits可以将图像数据读到一个数组中去。
      

  2.   

    另外,对于也可以用GetDIBits得到数据。
      

  3.   

    好的,我正在使用getbitmapbits函数。
    感谢高手的指教。
      

  4.   

    请教高手:
    我使用如下代码:
    char *bmp_index = (char*)malloc(bitmap_org.bmHeight*bitmap_org.bmWidth);

    unsigned int ret_bytes = pic->GetBitmapBits(bitmap_org.bmHeight*bitmap_org.bmWidth,bmp_index);for(int i=0;i<1000;i++)
    {
    *(bmp_index+100) = 50;
    bmp_index ++;
    }UpdateData(false);
    UpdateWindow();
    我的意思是,我得到index数据后,随便更改一下图片,然后显示,为什么这样没有效果,图片没有任何改变。
      

  5.   

    我知道是怎么回事了:
    bmp_index指向的是另外的存储区,而不是图像的存储区。我知道了,感谢高手们!