c# - 屏幕捕获表单的一部分 [英] c# - screen captures part of form

查看:73
本文介绍了c# - 屏幕捕获表单的一部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi
如何捕捉屏幕部分表格



像这样: http://i62.tinypic.com/2z5t6pi.png [ ^ ]



hi how can capture screen part of form

like this : http://i62.tinypic.com/2z5t6pi.png[^]

private void button2_Click(object sender, EventArgs e)
    {

    using (Bitmap bmp = new Bitmap(Width, Height))
        {
        using (Graphics g = Graphics.FromImage(bmp))
            {
            g.CopyFromScreen(this.Location.X, 
                             this.Location.Y, 
                             0, 
                             0, 
                             bmp.Size, 
                             CopyPixelOperation.SourceCopy);
            }

        bmp.Save(@"F:\printscreen.jpg", ImageFormat.Jpeg);
        }
    }



11


11

推荐答案

请查看此链接



ScreenCap:C#屏幕捕获应用程序(由GuyThiebaut从TeboScreen分支) [ ^ ]


请参阅我对该问题的评论。你需要做的就是调整窗口客户端部分的位置和大小。



最有可能的是,你想复制一些非客户区域窗口。因此,问题被简化为计算客户端部件的位置和大小。这个方法/属性足以解决这个问题。

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientrectangle(v = vs.110)的.aspx [< a href =http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientrectangle(v=vs.110).aspx\"target =_ blanktitle =New Window > ^ ],

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientsize(v = vs.110).aspx [ ^ ],

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.pointtoclient (v = vs.110).aspx [ ^ ],

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.pointtoscreen(v = vs.110).aspx [ ^ ]。



此类:http://msdn.microsoft.com/en-us/library/system.windows.systemparameters %28v = vs.110%29.aspx [ ^ ]。



这还取决于你对风的了解你要复制吗。



-SA
Please see my comment to the question. All you need to do is to adjust location and the size of your client part of the window.

Most likely, you want to copy the non-client area of some window. So, the problem is reduced to calculation of the position and size of the client part. This methods/properties are enough to solve this problem.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientrectangle(v=vs.110).aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientsize(v=vs.110).aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.pointtoclient(v=vs.110).aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.pointtoscreen(v=vs.110).aspx[^].

And also this class: http://msdn.microsoft.com/en-us/library/system.windows.systemparameters%28v=vs.110%29.aspx[^].

It also depends on what do you know about the window you want to copy.

—SA


这篇关于c# - 屏幕捕获表单的一部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆