能否用BitBlt直接在桌面上写字或贴位图?!

pet 2010-05-15 07:14:57

可以用BitBlt实现截取屏幕图像存为位图格式,但倒过来
把位图文件用函数BitBlt贴在桌面上可以么?可以把字写在位图文件
直接贴在桌面上,实现写字?
那位指点下,最好源码
下面是接屏幕源码:
HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND.
HDC hScreenDC = ::GetDC(hWnd); //获得屏幕的HDC.
HDC MemDC = ::CreateCompatibleDC(hScreenDC);
RECT rect;
::GetWindowRect(hWnd,&rect);//获取窗口矩形
SIZE screensize;
screensize.cx=rect.right-rect.left;//屏幕宽度
screensize.cy=rect.bottom-rect.top;//屏幕高度
HBITMAP Bitmap = ::CreateCompatibleBitmap(hScreenDC,screensize.cx,screensize.cy);
HGDIOBJ hOldBMP = ::SelectObject(MemDC,Bitmap);
::BitBlt(MemDC,0,0,screensize.cx,screensize.cy,hScreenDC,rect.left,rect.top,SRCCOPY);
::SelectObject(MemDC,hOldBMP);
::DeleteObject(MemDC);
::ReleaseDC(hWnd,hScreenDC);
return Bitmap;
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
TXPlain 2010-10-18
  • 打赏
  • 举报
回复
我怎么看不到6楼源码。。。
wltg2001 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pet 的回复:]
还真行,你牛!!!
我折腾了2天,P事没有干,废寝忘食,一无所获,Y的笨死了
[/Quote]
没什么的,谁都有初学的时候。
pet 2010-05-16
  • 打赏
  • 举报
回复
还真行,你牛!!!
我折腾了2天,P事没有干,废寝忘食,一无所获,Y的笨死了
wltg2001 2010-05-16
  • 打赏
  • 举报
回复
我没有贴图了,写了一行字,就两句就行了:
void CdfdffDlg::OnBnClickedButton1()
{
HDC hDesk=::GetDC(NULL);
::TextOut(hDesk,200,200,"我会显示在桌面上",16);
}
pet 2010-05-16
  • 打赏
  • 举报
回复
6楼,你把源码贴出来,我编译,运行下
真假一试便知!!!
wltg2001 2010-05-15
  • 打赏
  • 举报
回复
可以啊,用HDC hScreenDC = ::GetDC(NULL); 就能得到屏幕的DC啊,然后用这个DC进行画图就行了。
pet 2010-05-15
  • 打赏
  • 举报
回复
你们自己实验,我的无法显示,也就是桌面无法直接写字或贴位图
Mendc和hscreendc对换下位置的话效果会是什么?
我 也没有见过这样的程序:没有窗口,直接桌面写屏幕的
BloodFighter 2010-05-15
  • 打赏
  • 举报
回复
取到桌面的dc了,你是想截屏 还是 写字,还是贴图,那不都是看你的乐意了

甚至说播放视频都没问题

关键是你要控制好刷新,别一刷新,你的图没了,白搭了
tuccty 2010-05-15
  • 打赏
  • 举报
回复
截屏代码我拿去研究了。
tuccty 2010-05-15
  • 打赏
  • 举报
回复
个人理解,::BitBlt(MemDC,0,0,screensize.cx,screensize.cy,hScreenDC,rect.left,rect.top,SRCCOPY);这里你吧Mendc和hscreendc对换下位置的话效果会是什么?
抛砖引玉。
邓学彬 2010-05-15
  • 打赏
  • 举报
回复
HWND hWnd = ::GetDesktopWindow();//获得屏幕的HWND.
HDC hScreenDC = ::GetDC(hWnd); //获得屏幕的HDC.

直接在这个DC上写字或其他操作都行

15,979

社区成员

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

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