C++截图并保存为文件

这篇博客介绍了如何在C++中利用Windows API和COM组件进行屏幕截图,并将截图保存为文件。作者提到,网上的代码可能无法直接使用,因此他调整了代码,使其能够正确工作,特别涉及到HBITMAP的处理。GetThumbImage()是用于调用ScreenCapture类截图的方法,允许设定保存的文件名和截图区域。
摘要由CSDN通过智能技术生成

调用WindowsApi,使用Com组件,我也是借鉴加修改的,因为网上直接复制下来的并不能直接调用(HBITMAP这种东西就比较奇怪),以后当成工具调用就可以了,写了部分注释,就不一句句讲解了。

        GetThumbImage()是用来调用截图的ScreenCapture类的,可以指定保存的文件名,截图的范围。

TBitmap* __fastcall TForm3::GetThumbImage()
{
	TImage *img = NULL;
	TBitmap *bitmap = new TBitmap();
	HBITMAP hBitmap = NULL;
	LPSTR addr = "ScreenCapture.png";
	hBitmap = ScreenCapture(addr, 32, NULL);
	::GetObject(hBitmap, sizeof(bitmap), (LPSTR)&bitmap);
    bitmap->LoadFromFile(addr);
	return bitmap;
}

HBITMAP TForm3::ScreenCapture(LPSTR filename ,WORD BitCount,LPRECT lpRect)
{
	HBITMAP hBitmap;
	// 显示器屏幕DC
	HDC hScreenDC = CreateDC(L"DISPLAY", NULL, NULL, NULL);
	HDC hmemDC = CreateCompatibleDC(hScreenDC);
	// 显示器屏幕的宽和高
	int ScreenWidth = GetDeviceCaps(hS
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值