3

Я использовал import из Imagemagick, чтобы делать снимки моего второго монитора каждые 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 ответ1

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 будет достаточно надежным для вашего приложения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .