如何把VC++单文档界面中显示的图像保存成图片

请问大师,我用VC++单文档界面显示了一个内存中的图像,又在上面叠加了图片和文字,如何能把这个叠加了的图像在某个时刻,点击按钮,给保存下来,变成图片格式存在硬盘上。就像是QQ的截图功能一样,只不过做成程序的按钮进行保存,请您不吝赐教。

这里有两个思路,一个是保存bmp位图,用CBitMap即可。
一个是保存JPG等压缩位图,可以使用Image对象等GDI+之类的东西。

基本思路:你需要一个内存DC,将一个CBitmap选入到DC,绘图在内存DC上进行,之后将位图SelectObject选出。这个CBitmap就保存了你的画图效果。
CBitmap保存为BMP文件的相关文章很多,就是按照结构体写文件结构,直接百度有很多可用代码。

Image的写入简单,有Save函数。追问

就第一种方法,您要是方便的话给点儿代码明示一下。
另外我可以用SDK的函数把动态的图像存成bmp图片,但是后来在OnDraw函数里叠加的线条没法保存,您看有没有方法把保存的bmp图片叠加后,保存成我要的图片。
非常感谢!

追答

代码太长,贴不上来。

参考这个吧,这个是用句柄的,意思一样,应该可以直接用:

http://bbs.csdn.net/topics/20235136

帖子四楼。

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-19
搜一下:如何把VC++单文档界面中显示的图像保存成图片