C#:如何拍摄部分屏幕的截图

喜欢

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); 

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

 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方法。 谷歌出现了这个教程 。

你检查过Graphics.CopyFromScreen方法了吗?