Официальный форум СВД Встраиваемые Системы
14 Ноября, 2018, 18:06:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

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

Сообщений: 25


« : 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
Опытный пользователь

Сообщений: 324


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

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

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

Сообщений: 25


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

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

Сообщений: 324


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

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

Сообщений: 25


« Ответ #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
Опытный пользователь

Сообщений: 324


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

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

Сообщений: 25


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

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

Сообщений: 324


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

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

Сообщений: 83


« Ответ #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 стоит раньше фотоновской, вызовется наш скрипт.
Дальше надо как-то файлы переименовывать, а то всё валиться будит в один.

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

Сообщений: 3072



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

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

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

deadarcher
Пользователь

Сообщений: 83


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

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

Сообщений: 25


« Ответ #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
Пользователь

Сообщений: 83


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

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

Сообщений: 3072



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

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

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

Олег Большаков
Администратор
Житель форума

Сообщений: 3072



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

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

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

У меня каждый раз получается снимок экрана не нулевого размера.
Записан

Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

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

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