C++/MFC/GDI+——获取Graphics中的图像数据
2007-11-28 12:24
239 查看
GDI+中的各种描画方法虽然很好用,但如果想获得一个Graphics中已经画好的内容却不那么容易了。做了一些尝试后,我用以下方法解决了这个问题。
首先,获得源Graphics的HDC,这个通过GetHDC()就能得到。
然后建立一个CDC,通过Attach(HDC hdc)使一个CDC与刚刚获取的HDC关联。
再建立一个目标CDC。
CBitmap TempBmp;
TempBmp.CreateCompatibleBitmap(pDC, /*图片宽*/, /*图片高*/ );
TempDC.SelectObject(TempBmp);
然后自然是Bitblt了。
到这里,虽然已经基本完成了任务。但为了以后方便,我又做了点工作。
获得目标DC的CBitmap对象。这个通过CDC的GetCurrentBitmap()就能得到。
建立一个Bitmap对象,注意是GDI+的Bitmap对象。通过Bitmap( HBITMAP, HPALETTE)这个构造函数建立,后面的调色板直接给一个NULL就可以了。前面的HBITMAP也可以直接将CBitmap对象赋进去,这里要注意到是,不是Cbitmap*而是CBitmap。
Bitmap BitmapTemp = new Bitmap(TempBmp,NULL);
之后,这个Bitmap对象就可以自由的在GDI+中使用了。通过其Clone方法也可以方便的复制出任意个副本,注意释放就行了。
BitmapTemp->Clone( 0, 0, /*图片宽*/, /*图片高*/, PixelFormat32bppARGB);
PixelFormat32bppARGB是图像的格式。MSDN上有详细的说明。
首先,获得源Graphics的HDC,这个通过GetHDC()就能得到。
然后建立一个CDC,通过Attach(HDC hdc)使一个CDC与刚刚获取的HDC关联。
再建立一个目标CDC。
CBitmap TempBmp;
TempBmp.CreateCompatibleBitmap(pDC, /*图片宽*/, /*图片高*/ );
TempDC.SelectObject(TempBmp);
然后自然是Bitblt了。
到这里,虽然已经基本完成了任务。但为了以后方便,我又做了点工作。
获得目标DC的CBitmap对象。这个通过CDC的GetCurrentBitmap()就能得到。
建立一个Bitmap对象,注意是GDI+的Bitmap对象。通过Bitmap( HBITMAP, HPALETTE)这个构造函数建立,后面的调色板直接给一个NULL就可以了。前面的HBITMAP也可以直接将CBitmap对象赋进去,这里要注意到是,不是Cbitmap*而是CBitmap。
Bitmap BitmapTemp = new Bitmap(TempBmp,NULL);
之后,这个Bitmap对象就可以自由的在GDI+中使用了。通过其Clone方法也可以方便的复制出任意个副本,注意释放就行了。
BitmapTemp->Clone( 0, 0, /*图片宽*/, /*图片高*/, PixelFormat32bppARGB);
PixelFormat32bppARGB是图像的格式。MSDN上有详细的说明。
相关文章推荐
- C++/MFC/GDI+(七)——获取Graphics中的图像数据
- vc/mfc获取rgb图像数据后动态显示及保存图片的方法
- vc/mfc获取rgb图像数据后动态显示及保存图片的方法
- vc/mfc获取rgb图像数据后动态显示及保存图片的方法
- MFC获取rgb图像数据后动态显示及保存图片的方法
- Intel RealSense学习之图像及图像深度数据获取
- 小技巧:用CxImage将从摄像头获取的图像原始数据转成JPG,然
- 虚拟机Linux访问usb设备,通过Libusb库方法实现读写usb设备所获取的实时图像数据
- v4l2获取raw图像数据并保存
- vb.net中彩色图像数据的快速获取
- MFC查找所有后缀文件获取文件大小读取特定位置数据
- WINFROM获取网页上的图像流数据
- BitmapData探究1-获取Image组件的图像数据
- 使用GDAL获取HDF等数据集中的图像
- 【MFC】绑定数据到菜单项目并获取内容
- linux下摄像头图像数据的获取
- (转)在C#中使用WIA获取扫描仪数据(四、通过编程方式扫描图像)
- (转载)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)
- 远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像
- MFC 双缓冲 GDI+ Graphics 在图片上画图写字 避免闪烁