снимать скриншот определенной области на экране один раз в секунду - PullRequest
4 голосов
/ 22 ноября 2011

Я хотел бы иметь возможность делать снимки экрана определенной области на экране один раз в секунду и иметь файл с именем MMDDYYYYHH: MM: ss, это возможно с помощью командной строки и программы.Я думал об использовании сценария, подобного этому

for((i=0;i<1000;i++))
do
import -window root screenshot-$(date '+%d%b%y-%N').png
sleep 5m
done

Но я не знаю команд для доступа к программе, чтобы изменить область на экране и ограничить качество изображений при сохранении в файл.PS: я готов использовать другую программу, если она будет работать.Я использую Linux Ubuntu 10.04 64bit.

Спасибо

Ответы [ 3 ]

8 голосов
/ 22 ноября 2011

Вы можете использовать опцию -crop WxH+X+Y для команды import, чтобы указать область экрана.И -quality опция для качества / уровня сжатия на выходе.Примерно так:

import -window root -crop 200x300+100+15 -quality 100 $(date +%Y%m%d-%H%M%S).png

Обратите внимание, что опция -quality для формата .png и .jpg имеет почти противоположные значения: значение 10 для png означает «меньшее сжатие» (больший размер), в то время как значение100 - «максимальное сжатие» (минимальный размер).С другой стороны, значение 10 для jpg означает «меньшее качество» (меньший размер), а значение 100 означает «максимальное качество» (максимальный размер).

2 голосов
/ 22 ноября 2011

Вот что я использовал, на всякий случай это может помочь следующему человеку.Я использовал Затвор (программа скриншота) и выбрал опцию «Выделение», чтобы получить правильные координаты и поместить их в скрипт ниже.

#!/bin/bash
for((i=1;i<10;i++))
do
    import -window root -crop 454x394+69+269 -quality 200 $(date +%m%d%Y-%H%M%S).png
    echo $i
    #type this in a terminal to run     ./timed.sh
sleep 1
done 
0 голосов
/ 22 ноября 2011

Вы пробовали альтернативы Linux для скриншота?

Это: Затвор , ScreenGrab , FireShot ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...