Снимок экрана приложения Windows, работающего под Wine (Linux) - PullRequest
2 голосов
/ 24 марта 2009

Как видно из названия, я хочу сделать скриншот оконного приложения, работающего под Wine. Не весь рабочий стол. C предпочтительнее, но также может использовать Java или Pascal.

Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 24 марта 2009

Возможный путь с оболочкой Linux:

  • используйте xwininfo, чтобы найти идентификатор окна, который мы ищем
  • использовать импорт для создания снимка экрана
  • (читайте man import и man xwininfo для получения дополнительной информации)

Пример с вином:

import -window `xwininfo -root -children | grep "Wine" | awk '{print $1}'` outfile.pcx
3 голосов
/ 24 марта 2009

Используйте команду импорта imagemagick, чтобы захватить окно и выгрузить его в файл ...

импортная документация

Обернуть вызов в системную команду C

 system("import -window (your window name) capture.png").

Затем вы можете получить доступ к изображению из файла, используя любую из стандартных библиотек загрузки изображений.

1 голос
/ 24 марта 2009

Вы можете дублировать функциональность команды импорта ImageMagick, используя MagickWand (C API) или Magick ++ (C ++ API), но вызов импорта напрямую через system (), как это было предложено justinhj, вероятно, самый простой подход, если вы не возражаете распространять импорт с вашим программным обеспечением.

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