繁体   English   中英

C#:如何截取屏幕一部分的屏幕截图

[英]C#: how to take a screenshot of a portion of screen

喜欢

TakeScreenshot(new Rectangle(0,0,100,100), "output.jpg");

使用以下内容:

Rectangle rect = new Rectangle(0, 0, 100, 100);
Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
bmp.Save(fileName, ImageFormat.Jpeg);

这是捕获屏幕的代码。 将值更改为所需的大小。

 Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);  

 Graphics graphics = Graphics.FromImage(printscreen as Image);  

 graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);  

 printscreen.Save(@"C:\printscreen.jpg", ImageFormat.Jpeg);

或make方法将返回您捕获的图像,如下所示:

Image CaptureScreen(int sourceX, int sourceY, int destX, int destY, 
            Size regionSize)
{
    Bitmap bmp = new Bitmap(regionSize.Width, regionSize.Height);
    Graphics g = Graphics.FromImage(bmp);
    g.CopyFromScreen(sourceX, sourceY, destX, destY, regionSize);
    return bmp;
}
 ......
 // call 
 Image image = CaptureScreen(sourceX, sourceY,  destX,  destY, regionSize);
 image.Save(@"C:\Somewhere\screen.jpg);

使用Graphics.CopyFromScreen方法。 Google提供了本教程

您是否检查过Graphics.CopyFromScreen方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM