Официальный форум СВД Встраиваемые Системы
20 Апрель, 2024, 12:53:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Использование утилиты snapshot в QNX4.25  (Прочитано 1798 раз)
Truefish
Пользователь

Сообщений: 27


« : 13 Март, 2018, 11:02:28 »

Здравствуйте!

Потребовалось сделать скриншот экрана QNX4.25 (из консоли)
Попробовал запустить команду из примера:

snapshot -A 100*100 -o 50*50 -p "BMP Spool File" -f /usrphoton/apps/print1.bmp

выдает ошибку

Error 0 while attemting to open printer definition. Nothing done.

Я так понимаю, мне нужен драйвер? Как его установить в систему?

Графическая утилита тоже не видит принтеров.

Спасибо.
Записан
LH
Ветеран

Сообщений: 345


« Ответ #1 : 13 Март, 2018, 12:10:20 »

Вы можете сделать доступным принтер с именем "BMP spool file" с помощью утилиты prsetup.

Записан
Truefish
Пользователь

Сообщений: 27


« Ответ #2 : 13 Март, 2018, 16:56:33 »

prsetup говорит, что доступных принтеров не имеется и выводит оба пустых списка (слева и справа)
Просит редактировать файл printers.sample (этот файл имеется в каталоге /qnx4/photon/print),
но не понятно как.
Записан
LH
Ветеран

Сообщений: 345


« Ответ #3 : 14 Март, 2018, 09:23:44 »

Скопируйте printers.sample в printers.
Тогда в правой колонке prsetup появятся доступные принтеры.
Записан
Truefish
Пользователь

Сообщений: 27


« Ответ #4 : 14 Март, 2018, 10:08:12 »

Спасибо, принтер установил.
Но теперь при запуске утилиты snapshot
#snapshot -A 800*600 -o 800*600 -p "BMP Spool File" -f /home/print1.bmp
 возникает ошибка
#phlib_auxrender_11: could not install shared object phlib_auxrender_11 :File exists

и при этом создается файл print1.bmp нулевого размера

если же запускать утилиту в графическом режиме, snapshot (без указания ключей) , то снимок делается нормально.
« Последнее редактирование: 14 Март, 2018, 10:58:10 от Truefish » Записан
LH
Ветеран

Сообщений: 345


« Ответ #5 : 14 Март, 2018, 13:07:14 »

В текстовом режиме утилиту snapshot вряд ли стоит использовать.
Записан
Truefish
Пользователь

Сообщений: 27


« Ответ #6 : 15 Март, 2018, 14:19:32 »

Хорошо, а как мне сделать снимок из кода программы? Мне нужна консоль, чтобы вызывать snapshot программно.
Есть ли возможность пойти другим путем?
Есть ли такие Photon-ские функции?
Или что бы по горячей клавише сразу делался снимок экрана. Такое в принципе возможно в QNX4.25?
« Последнее редактирование: 15 Март, 2018, 14:26:30 от Truefish » Записан
LH
Ветеран

Сообщений: 345


« Ответ #7 : 15 Март, 2018, 14:31:36 »

Из кода программы можно попробовать ф-цию system();
Записан
deadarcher
Пользователь

Сообщений: 95


« Ответ #8 : 15 Март, 2018, 14:46:33 »

Можна сделать трюк - создаем скрипт /bin/snapshot с содержанием:
Код:
#!/bin/sh

/qnx4/photon/bin/snapshot -A1280*1024 -o0*0 -p "BMP Spool File " -f /tmp/screen.bmp
делаем chmod a+x /bin/snapshot
теперь если находясь в фотоне нажать принтскрин то если в PATH папка /bin стоит раньше фотоновской, вызовется наш скрипт.
Дальше надо как-то файлы переименовывать, а то всё валиться будит в один.

А вот если надо делать скрины текстовой консоли, тут не скажу, не знаю
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #9 : 15 Март, 2018, 21:01:24 »

Дальше надо как-то файлы переименовывать, а то всё валиться будит в один.

Можно добавить что-то типа $(date +%Y%m%d_%H%M%S) в название файла, тогда у каждого файла будет уникальное имя, а заодно и дата и время в названии.
Записан
deadarcher
Пользователь

Сообщений: 95


« Ответ #10 : 15 Март, 2018, 22:05:56 »

Можно добавить что-то типа $(date +%Y%m%d_%H%M%S) в название файла, тогда у каждого файла будет уникальное имя, а заодно и дата и время в названии.
Записан
Truefish
Пользователь

Сообщений: 27


« Ответ #11 : 16 Март, 2018, 07:36:56 »

Спасибо за рекомендации,  все понятно, просто мой вопрос остается открытым:

команда /qnx4/photon/bin/snapshot -A1280*1024 -o0*0 -p "BMP Spool File " -f /tmp/screen.bmp

делает снимок первый раз нормально, а при повторном вызове создает файл нулевого размера
После перезагрузки системы команда срабатывает один раз, а при последующем вызове - опять файл нулевого размера.

Мне не нужны снимки консоли, мне нужно, чтобы скрипт работал)

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

Можно, конечно, программно сравнивать размер >0 и если 0, то делать snapshot повторно.
« Последнее редактирование: 16 Март, 2018, 08:37:18 от Truefish » Записан
deadarcher
Пользователь

Сообщений: 95


« Ответ #12 : 16 Март, 2018, 09:39:47 »

Сделал как предложил Олег, работает классно !  Некоторые быстрые нажатия принстскрина проглатываются, возможно паузу надо выдерживать, остальные отработали нормально. Нарезал десяток скринов, никаких нулевых файлов. Разве что отрендерились скрины с другими шрифтами, это надо где-то понастраивать.
« Последнее редактирование: 16 Март, 2018, 10:56:25 от deadarcher » Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #13 : 16 Март, 2018, 10:39:00 »

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

Время указывается с точностью до секунды, так что следует выдерживать паузу в одну секунду. Либо можно доработать скрипт, вставить проверку на наличие файла и добавлять к имени буковку или циферку, если файл уже существует.
Записан
Олег Большаков
Легенда

Сообщений: 3140



« Ответ #14 : 16 Март, 2018, 10:53:34 »

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

Можно, конечно, программно сравнивать размер >0 и если 0, то делать snapshot повторно.

У меня каждый раз получается снимок экрана не нулевого размера.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 03 Март, 2022, 02:56:11