我想使用.NET Core来捕获屏幕截图。我知道在.NET Framework中这很简单,但是在.NET Core中是否可能?我已经搜索了,但无法找到任何答案。
System.Drawing.Common
现在在 .NET Core 中可用,使您能够截取窗口/桌面的屏幕截图。 这里是一个示例
编辑
一个捕获屏幕截图的例子:
using var bitmap = new Bitmap(1920, 1080);
using (var g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(0, 0, 0, 0,
bitmap.Size, CopyPixelOperation.SourceCopy);
}
bitmap.Save("filename.jpg", ImageFormat.Jpeg);
更新
System.Drawing.Common
已在iOS和Linux上被弃用,但仍为Windows维护。请参见相关文章。
.NET Core是一个跨平台的框架,这意味着它可以在各种平台上运行,甚至包括没有屏幕的平台(例如嵌入式Linux)。 因此,你不能直接从.NET Core库中实现它。 你可以在各自类型的库中实现特定于平台的截屏,如win、android、mac等,并通过依赖注入容器将其连接到你的跨平台代码的设施中。