代码如下:
BITMAP bitmap;subpic->GetBitmap(&bitmap);//subpic是一个已经得到的位图CBitmp对象的指针。
请教高手,上述操作后,要怎样才能得到bitmap数据的数据区。说一下:我看到bitmap数据结构中,一个有元素是LPVOID bmBits;这个东西是不是指向数据的地址呢?
可是我不会操作LPVOID类型,有高手能指点一下该怎么操作吗?
BITMAP bitmap;subpic->GetBitmap(&bitmap);//subpic是一个已经得到的位图CBitmp对象的指针。
请教高手,上述操作后,要怎样才能得到bitmap数据的数据区。说一下:我看到bitmap数据结构中,一个有元素是LPVOID bmBits;这个东西是不是指向数据的地址呢?
可是我不会操作LPVOID类型,有高手能指点一下该怎么操作吗?
可是我不会操作LPVOID类型,有高手能指点一下该怎么操作吗
===========
对于CBitmap类来说,有GetBitmapBits可以将图像数据读到一个数组中去。
感谢高手的指教。
我使用如下代码:
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数据后,随便更改一下图片,然后显示,为什么这样没有效果,图片没有任何改变。
bmp_index指向的是另外的存储区,而不是图像的存储区。我知道了,感谢高手们!