Как программно сделать снимок экрана?

Автор HoleyHat, 02 мая 2013, 16:00:22

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

HoleyHat

Я слышал, что в юниксах всё есть файл. Поэтому предполагаю, что где-то в системе есть некий файл, прочитав который, получим содержимое экрана в "сыром" виде, пиксель за пикселем.
Куда страна катится? Только красота спасет мир! Только красота и массовые расстрелы! - к/ф "Антибумер"

ogost

xwd -root |xwdtopnm |pnmtopng > screenshot.png

сам не пробовал, у гугла спросил. первая же ссылка, кстати.
whatis мне подсказал, что xwd как раз для снятия скриншотов с иксов.
$ whatis xwd
xwd (1)              - dump an image of an X window

HoleyHat

Цитата: ogost от 02 мая 2013, 16:09:06
сам не пробовал, у гугла спросил. первая же ссылка, кстати.

Ключевое слово "программно". Или Вы предлагаете запускать из некоей программы (на С++, например) консольную утилиту, делать скриншот во временный файл, а потом читать этот файл?
Куда страна катится? Только красота спасет мир! Только красота и массовые расстрелы! - к/ф "Антибумер"

ogost

ну... зачем утилиту? воспользуйтесь прилагающимися либами.

HoleyHat

#4
Цитата: ogost от 02 мая 2013, 16:26:37
ну... зачем утилиту? воспользуйтесь прилагающимися либами.

Вот только после этого ответа я смог составить такой запрос гуглю, который вывел меня на полезную инфу. Волшебное слово оказалось XGetImage.  :-X Поищу обёртку для неё попроще...
Куда страна катится? Только красота спасет мир! Только красота и массовые расстрелы! - к/ф "Антибумер"