Как сделать скриншот (в программе на С++)

Модератор: Модераторы разделов

frp
Сообщения: 1445
ОС: Debian Squeeze

Как сделать скриншот

Сообщение frp »

Нужно сделать скриншот в программе на С++.
Спасибо сказали:
Nymin
Сообщения: 1095
Статус: -
ОС: GNU/Linux

Re: Как сделать скриншот

Сообщение Nymin »

Что вы делаете и что не получается когда вы хотите сделать скриншот в программе на С++?
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Как сделать скриншот

Сообщение frp »

Я просто не знаю как это сделать и чем это сделать.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Как сделать скриншот

Сообщение Voice »

Можно запустить внешнюю программу, например scrot.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Как сделать скриншот

Сообщение frp »

Можно и так, а нет ли способов побыстрее?
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Как сделать скриншот

Сообщение frp »

Где взять исходники ksnapshot?
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Как сделать скриншот

Сообщение nesk »

думаю можно использовать функцию из xlib, вот только я не знаю какую и как :blush:

frp писал(а):
20.07.2008 12:03
Где взять исходники ksnapshot?

попробуйте
apt-get source ksnapshot

правда для этого возможно придется отредактировать /etc/apt/sources.list
разкомментировать строчки deb-src

http://wiki.debian.org/DebianRussian/DebinstPackages


кстати, поиск по исходникам в гугле, тоже пом помог. Вот.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
Ice Knight
Сообщения: 72
ОС: Slackware 10.2/12.0/13.1

Re: Как сделать скриншот

Сообщение Ice Knight »

import -display localhost:0.0 -window root screenshot.png
Антисоциальный элемент
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Как сделать скриншот

Сообщение frp »

За ссылки спасибо. Оказалось, что чтобы сделать скриншот достаточно написать

Код: Выделить всё

QPixmap screenshot = QPixmap::grabWindow( qt_xrootwin() );

А чтобы сохранить

Код: Выделить всё

screenshot.save(QString(getenv("HOME"))+"/screen.png","PNG",100);

Ну и естественно в начале кода нужно указать

Код: Выделить всё

#include <qpixmap.h>
Спасибо сказали: