c# 我想截图一个图片,红色区域,如何使用CopyFromScreen

楚楚3107 2017-04-21 05:26:29

...全文
375 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-04-24
  • 打赏
  • 举报
回复
那你就这样
            Image objImage = new Bitmap(panel1.Width, panel1.Height);
            Graphics gd = Graphics.FromImage(objImage);
            Point f = this.PointToScreen(new Point(panel1.Left, panel1.Top));
            gd.CopyFromScreen(f, new Point(0, 0), new Size(panel1.Width, panel1.Height));
            IntPtr dc1 = gd.GetHdc();
            gd.ReleaseHdc(dc1);
objImage 就是你要的图像
楚楚3107 2017-04-24
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
观察到红框区域是 panel1(Panel 控件),那你就做控件截图就是了 其实并不是截图,可视控件都提供有 DrawToBitmap 方法,可将自己画到图片中去
那个panel中又要放PixtureBox,又要放RichTextBox,您说的这个方法在没有RichTextBox的情况下是可行的。如果有的话,RichTextBox不会被截图下来。
xuzuning 2017-04-24
  • 打赏
  • 举报
回复
观察到红框区域是 panel1(Panel 控件),那你就做控件截图就是了 其实并不是截图,可视控件都提供有 DrawToBitmap 方法,可将自己画到图片中去
楚楚3107 2017-04-24
  • 打赏
  • 举报
回复
来大神看看啊。实现不了说说思路也给分的。
楚楚3107 2017-04-24
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
那你就这样
            Image objImage = new Bitmap(panel1.Width, panel1.Height);
            Graphics gd = Graphics.FromImage(objImage);
            Point f = this.PointToScreen(new Point(panel1.Left, panel1.Top));
            gd.CopyFromScreen(f, new Point(0, 0), new Size(panel1.Width, panel1.Height));
            IntPtr dc1 = gd.GetHdc();
            gd.ReleaseHdc(dc1);
objImage 就是你要的图像
引用 4 楼 xuzuning 的回复:
那你就这样
            Image objImage = new Bitmap(panel1.Width, panel1.Height);
            Graphics gd = Graphics.FromImage(objImage);
            Point f = this.PointToScreen(new Point(panel1.Left, panel1.Top));
            gd.CopyFromScreen(f, new Point(0, 0), new Size(panel1.Width, panel1.Height));
            IntPtr dc1 = gd.GetHdc();
            gd.ReleaseHdc(dc1);
objImage 就是你要的图像
谢谢版主。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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