导入(ImageMagick)无法捕获覆盖

导入(ImageMagick)无法捕获覆盖

我一直使用importImagemagick 每 15 秒截取第二台显示器的屏幕截图,然后使用它们组合图像mencoder- 从而创建这段时间内桌面上发生的事情的延时摄影。当我使用 Gnome 2 时,这个功能非常有效 - 但最近,我的截图出现了一些瑕疵。黑色矩形出现在各个地方。

gnome-screenshot 不会发生这种情况,但我需要足够强大的功能来执行与此等效的操作:

# Capture 1920 x 1080 to file, starting at position 1680 x 0 (Monitor to the
# left is 1680x1050, monitor to the right is 1920 x 1080 - I want to capture the
# monitor to the right.)

while [ 1 ]; do
    import -window root -crop 1920x1080+1680+0 ~/img/foo-$(date +%y%m%d-%H%M%S).jpg
    sleep 15
done

并且gnome-screenshot似乎没有可用的选项来执行此操作。我还没有找到任何方法可以import消除镜头中的瑕疵。

有人能给我一些明智的建议吗?

答案1

我使用 xwd 的运气不错。我截取了整个桌面的屏幕截图,然后使用 imagemagick 剪切出我想要的部分。

我也一直在使用该工具从特定窗口标题中提取的功能。

http://blog.tordeu.com/?p=135

利用该博客文章中的信息,我创建了以下 Python 函数,用它来截取标题栏中带有“mywindow”的窗口的屏幕截图。

def store_mywindow_screenshot():
    command = 'xdotool windowraise `xdotool search --title ".*mywindow.*"`'
    os.system(command)
    command = 'xwd -id `xdotool search --title ".*mywindow.*"` -out mywindow_screenshot.xwd'
    os.system(command)
    command = "convert mywindow_screenshot.xwd mywindow_screenshot_%s.png" % datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    os.system(command)

由于我一直在捕捉一个 3d opengl 应用程序的窗口,我想 xwd 对于您的应用程序来说足够强大

相关内容