Некоторое обходное решение. Вам понадобятся пакеты gnome-screenshot
и imagemagick
, а также несколько стандартных команд.
Мы просто определим произвольное имя файла (во временном каталоге /tmp
), сделаем скриншот и запишем его в указанное имя, затем проанализируем размеры изображения (выбирая только размер в пикселях) и, наконец, удалим изображение.
#!/bin/bash
imed=$(mktemp -u).png &&\
#-a allows area specification and
#-f defines the screenshot file's location and name
gnome-screenshot -a -f "$imed" &>/dev/null &&\
#now draw the rectangle
#extract pixel dimensions form file
identify "$imed" | awk -F' ' '{print $3}' &&\
#and remove it
rm -f "$imed"
Очевидно, что это означает создание фиктивного файла. Можно указать tmpfs
для расположения изображения, чтобы оно находилось только в оперативной памяти - это ускоряет процесс и лучше для здоровья диска.