VC++中抓屏问题

lvzhongbo 2008-05-26 03:26:29
谁懂抓屏问题呀
给小弟指点指点
很急呀
...全文
190 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvzhongbo 2008-05-31
  • 打赏
  • 举报
回复
谢谢大家 我代码看懂了
不过我不会用VC++软件
在哪可以定义消息呀 代码应该放在什么位置呀
lvzhongbo 2008-05-27
  • 打赏
  • 举报
回复
我想做一个抓屏后然后再传输过去
现在我已经实现jpg图片的传输了不过抓屏怎么和它连在一起呀
有没有代码呀
paerxiushi 2008-05-27
  • 打赏
  • 举报
回复
使用GDI+将位图转化成JPG:
向MFC中增加ATL静态链接
#include "atlimage.h"
//以下是屏幕的截图
CDC dc;
dc.CreateDC(_T("DISPLAY"),NULL,NULL,NULL);
CBitmap bm;
int Width=GetSystemMetrics(SM_CXSCREEN);
int Height=GetSystemMetrics(SM_CYSCREEN);
bm.CreateCompatibleBitmap(&dc,Width,Height);
CDC tdc;
tdc.CreateCompatibleDC(&dc);
CBitmap* pOld=tdc.SelectObject(&bm);
tdc.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY);
tdc.SelectObject(pOld);
//以下是JPG图片的保存
CImage image;
image.Attach(bm);
image.Save(_T("C:\\My.bmp"),Gdiplus::ImageFormatJPEG);
//然后调用CImage的Load方法把JPG读取出来
coolerhero 2008-05-26
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/graphics/screen_capturing.aspx
cnzdgs 2008-05-26
  • 打赏
  • 举报
回复
在论坛里搜索一下“截屏”就能找到很多。
virtualfunction 2008-05-26
  • 打赏
  • 举报
回复
下面是MSDN中的一段代码:

// Create a normal DC and a memory DC for the entire screen. The
// normal DC provides a "snapshot" of the screen contents. The
// memory DC keeps a copy of this "snapshot" in the associated
// bitmap.

hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hdcCompatible = CreateCompatibleDC(hdcScreen);

// Create a compatible bitmap for hdcScreen.

hbmScreen = CreateCompatibleBitmap(hdcScreen,
GetDeviceCaps(hdcScreen, HORZRES),
GetDeviceCaps(hdcScreen, VERTRES));

if (hbmScreen == 0)
errhandler("hbmScreen", hwnd);

// Select the bitmaps into the compatible DC.

if (!SelectObject(hdcCompatible, hbmScreen))
errhandler("Compatible Bitmap Selection", hwnd);

// Hide the application window.

ShowWindow(hwnd, SW_HIDE);

//Copy color data for the entire display into a
//bitmap that is selected into a compatible DC.

if (!BitBlt(hdcCompatible,
0,0,
bmp.bmWidth, bmp.bmHeight,
hdcScreen,
0,0,
SRCCOPY))

errhandler("Screen to Compat Blt Failed", hwnd);

// Redraw the application window.

ShowWindow(hwnd, SW_SHOW);
rageliu 2008-05-26
  • 打赏
  • 举报
回复
一般截屏,google下一大把
如果要截播放器 游戏等使用了硬件加速的内容,有点麻烦
haokongdashi 2008-05-26
  • 打赏
  • 举报
回复
在www.vckbase.com中有你要的答案。
类似QQ截屏。
你搜索下“QQ”,就可以找到了。

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧