我可以用什么语言编写快速程序来截取屏幕截图,还可以模拟按键?
我有一个动画/互动的Flash电影,这是一个演示文稿。我按下一个特定的键后想截取屏幕截图。
最终效果是我可以打印的一系列截图...基本上捕捉了Flash演示中的关键时刻。
答案 0 :(得分:5)
我在C#中写这篇文章没有太多麻烦。以下是大部分代码:
using (Bitmap bitmap = new Bitmap(bitmapSize.Width, bitmapSize.Height, PixelFormat.Format24bppRgb))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen(
new Point(0, 0),
new Point(0, 0),
bitmapSize);
bitmap.Save(filename, ImageFormat.Png);
}
我建议您编写一个托管浏览器控件的应用。然后,您可以让浏览器控件显示SWF,您的应用程序将知道您需要捕获的屏幕部分的确切坐标。这样您就可以避免捕获整个屏幕或整个窗口,以后可能需要进行裁剪。
答案 1 :(得分:3)
我确信有办法,但这是我的想法。您可以使用ffmpeg等工具将电影帧转换为图片。来自ffmpeg的手册页
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
这将从视频中每秒提取一个视频帧,并将其输出到名为foo-001.jpeg,foo-002.jpeg等的文件中。 图像将重新调整以适应新的WxH值。
如果只想提取有限数量的帧,可以将上述命令与-vframes或-t选项结合使用, 或者与-ss结合使用以从某个时间点开始提取。
文件名中的数字“模拟”按键,因此如果您每帧提取1秒,并且想要在30秒“按”键,请使用foo-030.jpeg
的文件名
答案 2 :(得分:2)
我最近发现了一个免费工具,它是屏幕捕获部分,它显然是用java编写的。