C#仿QQ简单截图

这里截图针对的并非动态截图,只能截取静态图片。全部采用C#语法,并不涉及API的调用。

原理:当触发截图操作时,首先新建一个Form,让当前桌面作为Form的背景图片,并设置窗体为顶层,并最大化显示,

其次,当用户单击鼠标按下并移动时动态画矩形。当用户释放鼠标并双击界面时,截取指定区域图片。

步骤:

首先获取桌面图片:

            Screen screen = Screen.PrimaryScreen;//得到显示设备
            Rectangle displayRect = screen.Bounds;//获取显示设备的大小
            Bitmap bitmap = new Bitmap(displayRect.Width, displayRect.Height);//新建一个显示设备大小的图片作为画布
            Graphics g = Graphics.FromImage(bitmap);//利用新建的图像创建画板

            g.CopyFromScreen(new Point(0, 0), new Point(0, 0), bitmap.Size);//将屏幕复制到画板上,实际上是复制到了bitmap画布上

其次设置Form必要属性:

            this.DoubleBuffered = true;//开启控件双缓冲

            this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

            this.UpdateStyles();//

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值