【发布时间】:2010-07-22 07:19:45
【问题描述】:
喜欢
TakeScreenshot(new Rectangle(0,0,100,100), "output.jpg");
【问题讨论】:
-
您需要指定是 WinForms、WPF 还是 Silverlight。
-
我正在尝试在类库中创建此方法
标签: c# .net screenshot
喜欢
TakeScreenshot(new Rectangle(0,0,100,100), "output.jpg");
【问题讨论】:
标签: c# .net screenshot
使用以下内容:
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 方法。谷歌出现this tutorial。
【讨论】:
您检查过Graphics.CopyFromScreen 方法吗?
【讨论】: