是否有一种使用.NET技术记录桌面或窗口的屏幕的方法?
我的目标是免费的。我喜欢小型、低CPU使用率和简单的想法,但如果它们能创建更好的最终产品,我会考虑其他选项。
简而言之,我知道如何在C#中拍摄屏幕截图,但如何将屏幕或屏幕区域记录为视频呢?
是否有一种使用.NET技术记录桌面或窗口的屏幕的方法?
我的目标是免费的。我喜欢小型、低CPU使用率和简单的想法,但如果它们能创建更好的最终产品,我会考虑其他选项。
简而言之,我知道如何在C#中拍摄屏幕截图,但如何将屏幕或屏幕区域记录为视频呢?
不需要第三方DLL。这种简单的方法可以将当前屏幕图像捕获到.NET Bitmap对象中。
private Image CaptureScreen()
{
Rectangle screenSize = Screen.PrimaryScreen.Bounds;
Bitmap target = new Bitmap(screenSize.Width, screenSize.Height);
using(Graphics g = Graphics.FromImage(target))
{
g.CopyFromScreen(0, 0, 0, 0, new Size(screenSize.Width, screenSize.Height));
}
return target;
}
我相信你可以找出如何捕获屏幕的较小部分,如果需要的话 :-).
您可以使用Windows Media Encoder SDK构建一个C#应用程序来记录屏幕。内置选项可记录整个桌面、特定窗口或屏幕的一部分。
有一个DLL文件可以完成这个功能。我不记得它的名字,但它被Jing使用。我的一个朋友仅用几分钟就利用那个DLL文件实现了一个屏幕录制器,只是为了测试。查看Jing,你可能会找到他们使用的DLL文件。
您可以使用Media Encoder SDK,但它不支持Windows 7。
System.Windows.Forms
和System.Drawing
这两个命名空间。 - TankorSmash