请问如何拷贝一个CBitmap对象? Bitmap的调色板和头信息相信你可以得到,剩下的就是图像信息,可用GetDIBits获得 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CBitmap* inbitmap;//源 CBitmap* m_pBitmap; m_pBitmap=new CBitmap; BITMAP bt; inbitmap->GetBitmap(&bt); m_pBitmap->CreateBitmapIndirect(&bt); LPVOID lpBits=NULL ; lpBits=new unsigned char[bt.bmWidthBytes*bt.bmHeight]; if(lpBits==NULL) return ; DWORD dwCount=bt.bmWidthBytes*bt.bmHeight; inbitmap->GetBitmapBits(dwCount,lpBits); m_pBitmap->SetBitmapBits(dwCount,lpBits); if(lpBits) { delete lpBits; lpBits=NULL;}我的代码 有时可以 有时有问题,why? 你动态分配的内存只是“长乘以高”各单位,可是在24bit的位图中,因该是3*Height*Width. 动态分配的内存只是“长乘以高”各单位,可是在24bit的位图中,因该是3*Height*Width. HBITMAP HBM=(HBITMAP)inbitmap->Detach();m_pBitmap=new CBitmap;m_pBitmap->Attach(HBM);above code is ok. but why using "detach()"? CBitmap是包装一个HBITMAP而已,Detach断开他与这个HBITMAP的连接。ATTACH连接一个新的HBITMAP,, 怎么实现MFC中的弹出窗口和浮动窗口??? 请教一个关于datagrid中的pagesize问题 求问:如何实现rtf文本的分页预览及打印?? 读取一个文件夹里的文件,都为txt文件,每次只读取一个,一行一行读,并打印出来,读完后,删除文件 显示图象的问题(刷新!) 问:16进制数转换成10进制的函数是什么? 如何检测注册表中的一个键值是否存在?请指教! 请问:脚本语言 与 汇编语言 有什么区别?它们在什么环境下编写?它们各有什么用? opengl 显示问题 怎样操作ATL对话框中的listview啊 如何使窗口只刷新部分区域? 请各位师长指教!
m_pBitmap=new CBitmap;
BITMAP bt;
inbitmap->GetBitmap(&bt);
m_pBitmap->CreateBitmapIndirect(&bt); LPVOID lpBits=NULL ;
lpBits=new unsigned char[bt.bmWidthBytes*bt.bmHeight];
if(lpBits==NULL) return ;
DWORD dwCount=bt.bmWidthBytes*bt.bmHeight; inbitmap->GetBitmapBits(dwCount,lpBits);
m_pBitmap->SetBitmapBits(dwCount,lpBits);
if(lpBits)
{
delete lpBits;
lpBits=NULL;
}我的代码 有时可以 有时有问题,why?
m_pBitmap=new CBitmap;
m_pBitmap->Attach(HBM);above code is ok. but why using "detach()"?