hyblusea 发表于 2013-12-14 14:57:30

C# 高仿 QQ截图控件( BUG修改 + 优化版) ,含源代码.

本帖最后由 hyblusea 于 2013-12-14 14:59 编辑

先上图, 效果非常小清新:






主要核心代码:
//获取桌面图像
private Bitmap GetScreen() {
      Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                        Screen.PrimaryScreen.Bounds.Height);
      if (this.isCaptureCursor) {   //是否捕获鼠标
                //如果直接将捕获当的鼠标画在bmp上 光标不会反色 指针边框也很浓 也就是说
                //尽管bmp上绘制了图像 绘制鼠标的时候还是以黑色作为鼠标的背景 然后在将混合好的鼠标绘制到图像 会很别扭
                //所以 干脆直接在桌面把鼠标绘制出来再截取桌面
                using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) {   //传入0默认就是桌面 Win32.GetDesktopWindow()也可以
                        Win32.PCURSORINFO pci;
                        pci.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(typeof(Win32.PCURSORINFO));
                        Win32.GetCursorInfo(out pci);
                        if (pci.hCursor != IntPtr.Zero) {
                              Cursor cur = new Cursor(pci.hCursor);
                              g.CopyFromScreen(0, 0, 0, 0, bmp.Size); //在桌面绘制鼠标前 先在桌面绘制一下当前的桌面图像
                              //如果不绘制当前桌面 那么cur.Draw的时候会是用历史桌面的快照 进行鼠标的混合 那么到时候混出现底色(测试中就是这样的)
                              cur.Draw(g, new Rectangle((Point)((Size)MousePosition - (Size)cur.HotSpot), cur.Size));
                        }
                }
      }
      //做完以上操作 才开始捕获桌面图像
      using (Graphics g = Graphics.FromImage(bmp)) {
                g.CopyFromScreen(0, 0, 0, 0, bmp.Size);
      }
      return bmp;
}


源码链接: http://pan.baidu.com/s/128Woi
提取密码: pa1k

喜欢就赞一个,谢谢

hyblusea 发表于 2013-12-14 14:59:46

版主加个精华吧,谢谢

davidfu1974 发表于 2013-12-18 12:36:05

非常不错,谢谢分享

cobra1989 发表于 2013-12-20 10:52:23

都是大神,潜心休学

羽叶 发表于 2014-1-2 12:12:48

hyblusea 发表于 2013-12-14 14:59
版主加个精华吧,谢谢

资源非常好,感谢分享!

不过抱歉,非原创的不能加精华。

JoJo_luo 发表于 2014-3-14 16:10:41

楼主太牛X了,TKS

lh631 发表于 2014-3-20 09:58:27

学习了,谢谢

xukui 发表于 2014-3-21 17:31:26

牛人啊。。。。非常好

0608 发表于 2015-8-27 23:24:49

C# 高仿 QQ截图控件( BUG修改 + 优化版) ,含源代码

84385654 发表于 2015-9-1 17:07:05

{:2_26:}不错

qiaogaofeng 发表于 2015-12-3 16:28:41

不错不错,真好

feilang864 发表于 2015-12-8 22:03:47

很不错的帖子,喜欢原创

Peter.Luo 发表于 2016-1-4 19:38:07

好东西,谢谢分享

q1012789582 发表于 2018-3-28 10:31:20

啊哦,你来晚了,分享的文件已经被删除了,下次要早点哟。

楼主重新上传一个吧

gudiaobutan` 发表于 2021-5-6 17:13:15

非常不错,谢谢分享
页: [1]
查看完整版本: C# 高仿 QQ截图控件( BUG修改 + 优化版) ,含源代码.