C# CopyFromScreen技巧分享

   2024-09-30 8940
核心提示:CopyFromScreen 是一个非常有用的方法,它可以将屏幕上的某个区域复制到一个 Bitmap 对象中。这在创建屏幕截图、录制屏幕或进行

CopyFromScreen 是一个非常有用的方法,它可以将屏幕上的某个区域复制到一个 Bitmap 对象中。这在创建屏幕截图、录制屏幕或进行自动化测试时非常有用。以下是一些使用 CopyFromScreen 的技巧和示例:

创建屏幕截图:
using System.Drawing;using System.Windows.Forms;public Bitmap CaptureScreen(){    Rectangle screenBounds = Screen.GetBounds(Point.Empty);    Bitmap screenshot = new Bitmap(screenBounds.Width, screenBounds.Height, PixelFormat.Format32bppArgb);    using (Graphics g = Graphics.FromImage(screenshot))    {        g.CopyFromScreen(Point.Empty, Point.Empty, screenBounds.Size);    }    return screenshot;}
创建指定区域的截图:
public Bitmap CaptureRegion(Rectangle region){    Bitmap screenshot = new Bitmap(region.Width, region.Height, PixelFormat.Format32bppArgb);    using (Graphics g = Graphics.FromImage(screenshot))    {        g.CopyFromScreen(region.Location, Point.Empty, region.Size);    }    return screenshot;}
创建透明背景的截图:
public Bitmap CaptureTransparentScreenshot(Rectangle region){    Bitmap screenshot = new Bitmap(region.Width, region.Height, PixelFormat.Format32bppArgb);    using (Graphics g = Graphics.FromImage(screenshot))    {        g.CopyFromScreen(region.Location, Point.Empty, region.Size, CopyPixelOperation.SourceCopy);    }    return screenshot;}
在截图中高亮显示特定区域:
public Bitmap HighlightRegion(Bitmap screenshot, Rectangle region, Color highlightColor){    using (Graphics g = Graphics.FromImage(screenshot))    {        using (Pen pen = new Pen(highlightColor, 5))        {            g.DrawRectangle(pen, region);        }    }    return screenshot;}
将截图保存为文件:
public void SaveScreenshot(Bitmap screenshot, string filePath){    screenshot.Save(filePath, ImageFormat.Png);}
将截图显示在窗体上:
public void DisplayScreenshot(Form form, Bitmap screenshot){    form.BackgroundImage = screenshot;    form.ClientSize = screenshot.Size;}

这些技巧和示例可以帮助你更好地使用 CopyFromScreen 方法。记住,当你处理大量图像时,要确保正确地释放资源,以避免内存泄漏。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号