需要创建兼容位图,创建兼容DC,然后需要将位图选入DC中,再将屏幕DC的图像拷贝到创建的兼容内存DC中。
······
CRect rect1;
GetClientRect(&rect1); //获取画布大小
HBITMAP hbp = CreateCompatibleBitmap(dc, rect1.Width(), rect1.Height()); //创建兼容位图
HDC hdc1 = CreateCompatibleDC(dc); //创建兼容DC
(HBITMAP)SelectObject(hdc1, hbp); //将位图选入DC
BitBlt(hdc1, 0, 0, rect1.right - rect1.left, rect1.bottom - rect1.top, dc, 0, 0, SRCCOPY); //将屏幕DC的图像复制到内存DC中
CRawImage rawIa;
rawIa.Load(hbp);
//rawIa.Rotate(0, 1, 90);
rawIa.Save(_T("D:\\image\\rawTest.png"), 0);
······
本文详细介绍了在Windows环境下如何通过编程实现屏幕截图的过程。具体步骤包括:获取画布大小,创建兼容位图与设备上下文(DC),将位图选入DC,最后将屏幕DC的图像复制到内存DC中并保存为图片文件。
136

被折叠的 条评论
为什么被折叠?



