Я ищу программу для захвата экрана в Linux с помощью C или Cpp. может кто-то помочь с предоставлением скелетной структуры или программы, что может мне помочь.Программа захвата экрана в C или C++ и Linux
Спасибо и отношения, RC
Я ищу программу для захвата экрана в Linux с помощью C или Cpp. может кто-то помочь с предоставлением скелетной структуры или программы, что может мне помочь.Программа захвата экрана в C или C++ и Linux
Спасибо и отношения, RC
How to capture screen with ffmpeg:
Используйте устройство x11grab:
FFmpeg -f x11grab -r 25 -s 1024x768 -i: 0.0 + 100200 output.flv
Это позволит захватить изображение с рабочего стола, начиная с верхнего левого угла (x = 100, y = 200) с шириной и высотой 1024x768.
Если вам нужен аудио тоже можно использовать ALSA, как это:
FFmpeg -f x11grab -r 25 -s 1024x768 -i: 0,0 + 100200 -f ALSA -ac 2 -i импульс output.flv
Таким образом, вы можете просто поместить это в capture.sh
и запустить его из вашего кода:
#include <cstdlib>
int main(){ std::system("./capture.sh"); }
Если вы должны сделать это без вызова внешних утилит, вы можете использовать libffmpeg directly.
Это хорошо выглядит. Я пытался использовать внешние библиотеки, но не мог найти идеальную программу. есть ли какие-нибудь примеры программ, которые используют сторонний api для захвата экрана? – Pferd
Это сработало http://stackoverflow.com/questions/15507788/making-a-screenshot-using-xlib-and-cairo-libs-fail – Pferd
программа "scrot" с открытым исходным кодом может быть удовлетворена вашим требованием.
Licenses BSD Original
Operating Systems POSIX BSD Linux
Implementation C language
получить исходный код Scrot here
scrot-0.8/src$ wc -l *.{c,h}
187 getopt1.c
1043 getopt.c
57 imlib.c
632 main.c
264 options.c
31 debug.h
136 getopt.h
51 options.h
96 scrot.h
31 structs.h
2528 total
возможный дубликат [быстрый метод для захвата экрана в Linux] (http://stackoverflow.com/questions/13479975/fastest-method-for- screen-capture-on-linux) –
Прочтите инструкцию для libX11: вы можете захватить отображение и сохранить его содержимое в файл. –
Возьмите код из 'xwd' источников: вам нужно всего 1-2 страницы кода! –