如何用MFC编写一个程序,获得整个屏幕的截图并保存为bmp格式

如何用MFC编写一个程序,获得整个屏幕的截图并保存为bmp格式,第1张

代码 大概就是这样 有几个关键函数仔细一下,要是要完整代码呢留言

CDC memDC;

CBitmap memBitmap,pOldBitmap;

CWindowDC dc(GetDesktopWindow());

memDCCreateCompatibleDC(&dc);

int nWidth,nHeight;

/ nWidth=GetSystemMetrics(SM_CXSCREEN);

nHeight=GetSystemMetrics(SM_CYSCREEN);/

CRect rect;

GetDesktopWindow()->GetWindowRect(rect);

ClientToScreen(&rect);

nWidth=rectWidth();

nHeight=rectHeight();

memBitmapCreateCompatibleBitmap(&dc,nWidth,nHeight);

pOldBitmap=memDCSelectObject(&memBitmap);

// memDCStretchBlt(0,0,rectWidth(),rectHeight(),&dc,0,0,rectWidth(),rectHeight(),SRCCOPY);

memDCBitBlt(0,0,nWidth,nHeight,&dc,0,0,SRCCOPY);

BITMAPFILEHEADER BMFhead;

BITMAPINFOHEADER BMIhead;

BMFheadbfReserved1=0;

BMFheadbfReserved2=0;

BMFheadbfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);

BMFheadbfSize=BMFheadbfOffBits+nWidthnHeight4;

BMFheadbfType=0x4d42;

BMIheadbiBitCount=32;

BMIheadbiClrImportant=0;

BMIheadbiClrUsed=0;

BMIheadbiSizeImage=0;

BMIheadbiXPelsPerMeter=0;

BMIheadbiYPelsPerMeter=0;

BMIheadbiCompression=BI_RGB;

BMIheadbiHeight=nHeight;

BMIheadbiPlanes=1;

BMIheadbiSize=sizeof(BITMAPINFOHEADER);

BMIheadbiWidth=nWidth;

DWORD dwSize=nWidthnHeight4;

BYTE pData=new BYTE[dwSize];

GetDIBits(memDCm_hDC,(HBITMAP)memBitmapm_hObject,0,nHeight,pData,(LPBITMAPINFO)&BMIhead,DIB_RGB_COLORS);

CFile file;

fileOpen("testbmp",CFile::modeCreate | CFile::modeWrite);

fileWrite(&BMFhead,sizeof(BITMAPFILEHEADER));

fileWrite(&BMIhead,sizeof(BITMAPINFOHEADER));

fileWrite(pData,dwSize);

fileClose();

memDCSelectObject(pOldBitmap);

MessageBox("绘图完毕");

GetParent()->ShowWindow(SW_SHOW);

台式机上直接按alt + PritnScreen就好了,

如果是笔记本电脑,有可能要按fn键的,

你这样 *** 作了后,打开WORD 或者画图程序,然后粘贴就好了,

这样就可以保存成文件了!

以上就是关于如何用MFC编写一个程序,获得整个屏幕的截图并保存为bmp格式全部的内容,包括:如何用MFC编写一个程序,获得整个屏幕的截图并保存为bmp格式、利用C语言图形函数编写的程序运行成功后,如何将这些图形界面截图、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9436169.html

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

发表评论

登录后才能评论

评论列表(0条)

保存