vc mfc 如何获取当前程序的窗口并保存为图片

vc mfc 如何获取当前程序的窗口并保存为图片,第1张

这个好像没有办法,我试过在暴风影音最前段显示的时候,用alt+print截取一个被遮住的窗口,前面的窗口也会被截取下来。对于被遮住的窗口部分会被裁减掉,所以基本在被遮住的情况下应该都不能截取。

或者你可以让你的程序在最前端显示在截取。

得到屏幕矩形区域:

CDC

pDC=::GetDC(NULL);

CDC

mdc;//内存DC

int

cx=GetSystemMetrics(SM_CXSCREEN)

int

cy=GetSystemMetrics(SM_CYSCREEN)

mdcBitBlt(0,0,cx,cy,pDC,0,0,SRCCOPY);

这样屏幕矩形区域就载入到内存DC中

2得到bmp长和宽:

CBitmap

Bitmap;

BitmapLoadBitmap(IDB_BITMAP1);

BITMAP

bmp;

BitmapGetBitmap(&bmp);

int

cxBitmap

=

bmpbmWidth;

int

cyBitmap

=

bmpbmHeight;

3得到每一点的颜色值;

先将位图载入CDC:

CBitmap

Bitmap;

BitmapLoadBitmap(IDB_BITMAP1);

pDC->SelectObject(&Bitmap);

COLORREF

cr;

cr=pDC->GetPixel(x,y);//x,y为像素点坐标

使用GetSystemMetrics获取显示器屏幕大小,然后调整

设置窗口的大小根据屏幕大小来按比例设置,比如屏幕宽的80%,高的60%来设置你窗口大小等

获取屏幕坐标:

int x = GetSystemMetrics(SM_CXSCREEN);

int y = GetSystemMetrics(SM_CYSCREEN);

处理WM_SIZE,将大小算好改变然后再重新显示,大致思路就这样!您试试看!

以上就是关于vc mfc 如何获取当前程序的窗口并保存为图片全部的内容,包括:vc mfc 如何获取当前程序的窗口并保存为图片、关于vc 将屏幕和bmp图载入到内存中的问题、如何在VC应用程序中全屏显示视窗口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9279570.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存