скриншот экрана
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
скриншот экрана
Подскажите, пожалуйста, как можно программно сделать скриншот экрана и одного выбранного контрола?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: скриншот экрана
Снимок контрола/индикатора делается просто:
А насчёт первого - принципиально нужен снимок всего экрана? Или конкретного окна ( )?-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: скриншот экрана
Отлично! То, что надо. У меня почти весь экран занимает TabControl, собственно, его и нужно сфотографировать.
Сделал примерчик. Вроде всё хорошо, но только почему-то корешки с названиями страниц обрезаются. Это лечится?
Сделал примерчик. Вроде всё хорошо, но только почему-то корешки с названиями страниц обрезаются. Это лечится?
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: скриншот экрана
Можно скрин всей лицевой панели сделать, а потом вырезать необходимую область.temples писал(а):Отлично! То, что надо. У меня почти весь экран занимает TabControl, собственно, его и нужно сфотографировать.
Сделал примерчик. Вроде всё хорошо, но только почему-то корешки с названиями страниц обрезаются. Это лечится?
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: скриншот экрана
Вряд ли, вообще Get Image странный метод. Для каких-то объектов работает, для каких-то - нет. В качестве альтернативы могу предложить снимок всего окна / VI, если решение IvanLis не устроит.temples писал(а):Это лечится?
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: скриншот экрана
Спасибо большое!
Попробовал программку от IvanLis. При первом запуске нормально отработала, но когда я потаскал FP по экрану, стала глючить - не может точно определить положение контрола. Думаю, вернусь к первому варианту с Get Image. Корешки мне нужны были только как комментарий. Могу вместо них просто текст впечатывать.
Чем меня эта функция особо порадовала, так тем, что даже если сдвинуть за край экрана, то снимок будет нормальный.
Кстати, как можно увеличить размер холста картинки? Например, сверху картинки прикрепить белую полоску?
И как можно склеить две картинки?
Попробовал программку от IvanLis. При первом запуске нормально отработала, но когда я потаскал FP по экрану, стала глючить - не может точно определить положение контрола. Думаю, вернусь к первому варианту с Get Image. Корешки мне нужны были только как комментарий. Могу вместо них просто текст впечатывать.
Чем меня эта функция особо порадовала, так тем, что даже если сдвинуть за край экрана, то снимок будет нормальный.
Кстати, как можно увеличить размер холста картинки? Например, сверху картинки прикрепить белую полоску?
И как можно склеить две картинки?
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: скриншот экрана
Картинка это двумерный массив пикселей.temples писал(а):Кстати, как можно увеличить размер холста картинки? Например, сверху картинки прикрепить белую полоску?
И как можно склеить две картинки?
Т.е. можно и работать как с массивом.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: скриншот экрана
Выложу здесь свой , который делал для фотографирования окошек. Может, пригодится.
BitBlt, иначе PrintWindow. В первом случае учитываются новые стили Windows, такие как Aero и прочие с частичной прозрачностью, во втором - нет. Однако в первом случае окно некорректно фоткается, если оно частично за пределами экрана (то, что за границей, будет черным). Во втором такого недостатка нет. Я ранее много экспериментировал с этим, но до конца так и не добился цели - нужно было снимать скрин с ActiveX окна с видеопотоком. Окно фоткалось, а видео в нём - нет.
Использовать можно так:
Получается вот что:
Если BitBlt = True, то для создания снимка используется То, что предоставляется в по умолчанию, это базовый функционал. В нём нет множества функций для работы с изображениями. Для полноценной работы рекомендую поставить NI Vision Development Module. Там и склейка картинок имеется. Если же влом ставить модуль, то можете реализовать сами, посмотрите похожую тему: http://www.labviewportal.org/viewtopic. ... 414#p63414temples писал(а):Неужели нет стандартной функции? Обрезка ведь есть.
-
- assistant
- Сообщения: 103
- Зарегистрирован: 25 фев 2015, 10:00
- Версия LabVIEW: 14.0f1
- Контактная информация:
Re: скриншот экрана
Всем большое спасибо!
С задачей легко справился с помощью метода TabControl.Get Image .
С задачей легко справился с помощью метода TabControl.Get Image .
-
- interested
- Сообщения: 5
- Зарегистрирован: 28 сен 2015, 11:07
- Версия LabVIEW: 11
- Контактная информация:
Re: скриншот экрана
Re: скриншот экрана
dadreamer 11 июн 2015, 20:19
Выложу здесь свой , который делал для фотографирования окошек. Может, пригодится.
Get Image By HWND.rar
(31.86 КБ) Скачиваний: 15
Использовать можно так:
2015-06-11_19-06-06.jpg (25.09 КБ) Просмотров: 418
Здравствуйте!
Очень актуально для меня скриншот активного экрана.
Нужно сохранить скриншот в jpeg файле.
У вас выход дата в RGB формате, ReadJpeg конечно не воспримет.
Что посоветуете?
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: скриншот экрана
Но лучше сохранять в png. Этот формат сжатия без потерь. Картинка скриншота, записанная в png, не расплывается, в отличие от jpg
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: скриншот экрана
Я как-то делал поиск кнопки на экране.Borjomy_1 писал(а):Но лучше сохранять в png. Этот формат сжатия без потерь. Картинка скриншота, записанная в png, не расплывается, в отличие от jpg
Пришел к выводу, что самый оптимальный для этого несжатый bmp. Несмотря на больший размер файла, обеспечивает максимальную скорость чтение/запись. Ну и соответственно цветопередача 1:1.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...