我制作了一个可以捕获屏幕一部分的工具。
该红色正方形内的所有像素均加载到位图中:
private Bitmap Capture()
{
var bitmap = new Bitmap(measurementToolBounds.Width, measurementToolBounds.Height);
using (var g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(measurementToolBounds.Location, Point.Empty, measurementToolBounds.Size, CopyPixelOperation.SourceCopy);
g.Flush();
}
return bitmap;
}
不幸的是,CopyFromScreen
大约需要30毫秒才能执行。
我也尝试过使用gdi32.dll
和BitBlt
,但据我所知,CopyFromScreen
会在后台调用BitBlt
。
是否有使用C#甚至是您知道的第三者实用工具来执行此操作的更快方法,我可以使用它来将屏幕的一部分作为字节数组来检索?