Получение фото с веб-камеры

Публикация № 1215423

Разработка - Разработка внешних компонент

фото компонента веб-камера

Получение фото с веб-камеры без ActiveX. Внешняя компонента по технологии Native API. Использует Microsoft Media Foundation.

В платформе 8.3.14 движок поля HTML документа был заменён с MS IE на WebKit. Это привело к отвалу ряда подобных решений, основанных на технологии ActiveX.

Из аналогов можно упомянуть публикацию Native ВК для работы с веб камерой, основанную на самом старом из распространённых API - Video for Windows.

Технические детали

Написано на MS Visual C++ 2017. Возможно, понадобятся распространяемые библиотеки для Visual C++ 2017.

Скомпилировано для Windows, x86 и x64.

Протестировано на платформе 1С версии 8.3.16.

Методы компоненты
  • ПолучитьКоличествоУстройств: без параметров. Возвращает число, количество устройств захвата видео в системе.
  • ПолучитьИмяУстройства: один параметр - номер устройства. Нумерация с нуля. Возвращает строку - имя устройства.
  • ПолучитьКартинку: один параметр - номер устройства. Нумерация с нуля. Получает с камеры один кадр в формате RGB32 в максимально возможном разрешении. Возвращает двоичные данные - фото в формате bmp.

В асинхронном режиме, соответственно, нужно вызывать методы НачатьВызов<ИмяМетода>() с передачей описания оповещения в первом параметре. Обработчики оповещения получают три параметра: Результат, ПараметрыВызова, ДополнительныеПараметры.

Пример подключения
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПодключитьКомпонентуWebCam();
КонецПроцедуры

&НаКлиенте
Процедура ПодключитьКомпонентуWebCam(Знач ЭтоУстановка = Ложь)
	ОповещениеОПодключении = Новый ОписаниеОповещения("ОповещениеОПодключении", ЭтотОбъект, ЭтоУстановка);
	НачатьПодключениеВнешнейКомпоненты(ОповещениеОПодключении, "ОбщийМакет.WebCam", "WebCam", ТипВнешнейКомпоненты.Native);
КонецПроцедуры

&НаКлиенте
Процедура ОповещениеОПодключении(Подключено, ЭтоУстановка) Экспорт
	Если Подключено Тогда
		ОбъектКомпоненты = Новый("AddIn.WebCam.WMFPictures");
...
	ИначеЕсли ЭтоУстановка Тогда
		ПоказатьСообщениеОбОшибке();
	Иначе
		ОповещениеОЗапросеУстановки = Новый ОписаниеОповещения("ОповещениеОЗапросеУстановки", ЭтотОбъект);
		ПоказатьВопрос(
			ОповещениеОЗапросеУстановки,
			"Для возможности захвата изображений требуется установить внешнюю компоненту.
			|Выполнить установку?",
			РежимДиалогаВопрос.ДаНет);
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ОповещениеОЗапросеУстановки(РезультатВопроса, ДополнительныеПараметры) Экспорт
	Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
		ОповещениеОбУстановке = Новый ОписаниеОповещения("ОповещениеОбУстановке", ЭтотОбъект);
		НачатьУстановкуВнешнейКомпоненты(ОповещениеОбУстановке, "ОбщийМакет.WebCam");
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ОповещениеОбУстановке(ДополнительныеПараметры) Экспорт
	ПодключитьКомпонентуWebCam(Истина);
КонецПроцедуры
Демо конфигурация

Демка позволяет выбрать камеру и начать получение снимков обработчиком ожидания раз в секунду. Текущий кадр можно сохранить в файл.

Скачать файлы

Наименование Файл Версия Размер
Внешняя компонента
.zip 117,12Kb
24.03.20
1
.zip 1.0.0.2 117,12Kb 1 Скачать
Демо конфигурация
.dt 161,79Kb
24.03.20
4
.dt 1.0.0.2 161,79Kb 4 Скачать
Исходники внешней компоненты
.zip 11,74Kb
24.03.20
0
.zip 1.0.0.2 11,74Kb Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. user5300 371 25.03.20 11:36 Сейчас в теме
не выводит изображение в 1С:Предприятие 8.3 (8.3.13.1644)..

хотя должен, в чем может быть проблема ?
2. berezdetsky 552 25.03.20 18:23 Сейчас в теме
(1) Проверил, в демо конфигурации картинка не выводится, но при сохранении двоичных данных в файл .bmp получается корректное изображение.
Могу поразбираться, если критично, но похоже на баг демо конфигурации или платформы.
3. user5300 371 26.03.20 07:51 Сейчас в теме
(2) я так думаю что из-за размера картинка, у меня получается примерно 4-10 мб, если урезать до 1 мб или меньше то корректно выводится...
Есть ли параметры для уменьшения разрешения камеры у компоненты ?
4. berezdetsky 552 26.03.20 09:16 Сейчас в теме
(3) Скорее дело в том, что я не заполняю ряд необязательных полей в заголовке файла, а 8.3.13 их считает обязательными. Постараюсь разобраться до конца следующей недели.
Установка разрешения в планах тоже есть.

А обновить платформу не вариант? :-)
5. user5300 371 26.03.20 09:40 Сейчас в теме
(4)Не вариант )
Много старых конф связаны с этой платформой(

Так что ждем решений )
6. berezdetsky 552 26.03.20 20:24 Сейчас в теме
(5) Исправлено в 1.0.0.2.

Суть в том, что в RGB32 в точке три байта обозначают цвет и один байт зарезервирован (используется в RGBA). API заполняет этот байт нулём. А эти весёлые чудаки из 1С в 8.3.13 и, возможно, в более ранних, трактуют этот байт как прозрачность. В 1.0.0.2 я заполняю его 0xFF и картинка выводится.
Твой редактор при урезании скорее всего делает то же самое или уменьшает цветность до 24 бит.
7. nuctoh 27 26.03.20 21:47 Сейчас в теме
Вопрос получения изображений с вебкамеры решается гораздо проще с помощью стандартного виндового WIA-драйвера и несложной модификации подсистемы РаботаСФайлам из БСП
https://infostart.ru/public/861841/
8. berezdetsky 552 27.03.20 09:38 Сейчас в теме
(7) Ага. Только x86, наличие БСП, тормозные COM-интерфейсы, километры кода - это, конечно, гораздо проще, чем
ПодключитьВнешнююКомпоненту("ОбщийМакет.WebCam", "WebCam", ТипВнешнейКомпоненты.Native);
ОбъектКомпоненты = Новый("AddIn.WebCam.WMFPictures");
ДвоичныеДанные = ОбъектКомпоненты.ПолучитьКартинку(0);

:D
Оставьте свое сообщение

См. также

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Разработка внешних компонент

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    2454    17    Johny_v    5       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Сканирование по TWAIN в 1С (обычные и управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Разработка внешних компонент

Обработка показывает пример, как можно в 1С проводить сканирование с помощью компоненты TWAIN.

3 стартмани

03.01.2020    2038    13    Diana.dedov.91    0       

Вставка картинки из буфера обмена (JavaScript + внешняя компонента)

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Разработка внешних компонент

Вставка картинки из буфера обмена с помощью JavaScript в поле HTML в web-клиенте и с помощью внешней компоненты в тонком/толстом клиенте. Механизм протестирован на платформах 8.2 и 8.3 Для запуска опубликованной конфигурации требуется платформа релиза не ниже 8.3.14.

1 стартмани

05.12.2019    1644    Andreyyy    1       

Время учиться: до 3 апреля скидки на курсы до 40%! Промо

Для тех, кто решил провести самоизоляцию с пользой, Инфостарт запускает акцию «Время учиться». С 30 марта до 3 апреля 2020 года наши курсы и видеозаписи докладов INFOSTART EVENT 2019 INCEPTION продаются со скидкой!

Клиент событий в «бесконечном» HTTP-соединении для 1С: Предприятие 8

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Native Компонента в отдельном потоке обрабатывает пакеты событий, в "бесконечном" http соединении и передаёт данные в очередь внешних событий.

10 стартмани

02.12.2019    1858    1    starovton    5       

Управление окнами и мониторами в 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Windows Абонемент ($m) Сервисные утилиты Разработка внешних компонент

Управление размерами, активностью и положением окон из 1С с возможностью вывода окон на второй монитор и запретом изменения окна.

1 стартмани

28.10.2019    5213    5    Grigoriy251    3       

AUTO VPN (создание подключения VPN на флешке и не только) Промо

Легкое подключение пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC) подключения без ввода настроек пользователем (скрытием настроек от пользователя)

1000 руб.

Маленькая и скромная мобильная внешняя компонента

Вопрос Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    5778    1    ripreal1    16       

Native внешняя компонента для оповещения по UDP или TCP

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    5446    12    vdv2701    25       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Native внешняя компонента для передачи по UDP

Инструменты и обработки Программист Архив с данными v8 УТ10 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента Native-API для организации передачи с использованием UDP.

1 стартмани

29.07.2019    2170    4    axae    0       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Менеджер буфера обмена. Нативная внешняя компонента win 32/64

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Добавляет возможности получения информации из почтовых вложений или файлов с других рабочих столов (RDP) с помощью операций копирования/вставки. Может «прослушивать»: любые изменения буфера обмена; нажатие клавиш соответствующих вставке (paste); нажатие клавиш копирования (copy); drop операции. Это новая реализация аналогичной компоненты https://infostart.ru/public/379695/, но теперь не C#, а С++ нативно для x32 / x64. (см. http://youtu.be/-PaWWFfbYo4)

1 стартмани

26.06.2019    3433    13    Bww    21       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Обработка вывода на печать QR-кода и штрихкодов в различных форматах (одномерные и двумерные)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Разработка внешних компонент Ценники

Обработка предназначена для вывода на печать QR-кода и штрихкодов в различных форматах без установки дополнительных ActiveX компонент. Тестировалась на чистой базе платформы 1С:Предприятие 8.3 (8.3.14.1630), а так же в конфигурациях Бухгалтерия предприятия КОРП, редакция (3.0.69.35) и на Бухгалтерия предприятия (3.0.70.30)

2 стартмани

22.05.2019    5716    25    MGemini    2       

DLL для подключения к Asterisk (32/64 клиенты)

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Телефония, SIP

Подключение к Астериску и получение событий "Newchannel","BridgeEnter","Hangup" через ОбработкаВнешнегоСобытия.

1 стартмани

19.03.2019    4850    9    xxxAndricxxx    12       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

DLL для обмена между 1С (и не только) через UDP порты (32/64 клиенты)

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Разработка внешних компонент

Библиотеки для создания функционала для прослушивания портов из 1С и отправки сообщений на удаленный udp порт.

1 стартмани

28.02.2019    4290    6    xxxAndricxxx    1       

Внешняя компонента для ping (под win)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Цель: выполнение ping из 1С без использования команд системы. Может быть полезна разработчикам для проверки доступности компьютеров.

1 стартмани

05.01.2019    3837    2    milut    0       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Эмулятор ККМ по стандарту ФФД 1.1

Инструменты и обработки Программист Архив с данными v8 Розница УТ11 Россия Windows Кассовые операции Абонемент ($m) Разработка внешних компонент ККМ

Эмулятор драйвера ККМ по стандарту ФФД 1.1 предназначен для использования всех возможностей программы, при отсутствии физической кассы. Подойдет как программистам при разработке интерфейса РМК, например, так и пользователям для тестирования возможностей программы.

1 стартмани

30.12.2018    14694    113    Matveymc    21       

Внешняя компонента для считывателя карт ACS 122/1281 (БПО)

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Ридер магнитных карт

Внешняя компонента для считывателя бесконтактных карт ACS 122/12 для подсистемы подключаемого оборудования.

1 стартмани

11.12.2018    4367    24    eugenevk    26       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

WebSocket Клиент / Сервер. Внешний компонент

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент

Реализация протокола WebSocket. Клиентская часть для взаимодействия с внешними сервисами. Серверная часть для организации собственного сервера, принимающего клиентские соединения в многопоточном режиме. Возможно взаимодействие RabbitMQ Slack Asterisk и другие

1 стартмани

16.11.2018    9285    54    nomadon    37       

Внешняя компонента для выполнения регулярных выражений

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8. Написана на C++. Используется движок boost::regex (v 1.69, v 1.68 - для Android). Версия синтаксиса Perl Compatible Regular Expressions.

1 стартмани

12.11.2018    8848    25    KAV2    59       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Native компонента для 8.3, реализующая метод sleep()

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя Native 64-битная компонента для 1C 8.3, которая реализует метод sleep() - паузу выполнения кода. Пауза для большой устойчивости сделана платформозависимой и требует WinAPI. Ид компоненты - AddIn.AddInNativeSleep.NativeSleep.

1 стартмани

16.10.2018    5193    3    ripreal1    9       

TextRadar - нечеткий поиск в тексте

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Поиск данных

В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных. Нормированный коэффициент, находящийся между 0 и 1 позволяет отсечь заведомо низкие результаты, организовать поиск по синонимам и т.д. Наглядное отображение результатов в кратком и детальном виде поможет быстро найти интересующий фрагмент.

1 стартмани

19.09.2018    11424    15    TSSV    14       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Класс-обработка “Работа с картами Яндекс”

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Разработка внешних компонент WEB

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    17280    166    RSConsulting    14       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Распознавание лиц (off-line). Демонстрационная база.

Инструменты и обработки Системный администратор Пользователь Руководитель проекта Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Распознавание лиц входит в нашу жизнь стремительными темпами, бизнес стремится за событиями. В публикации находится описание и пример использования нейросетей для распознавания лиц.

1 стартмани

17.07.2018    12999    75    nomadon    45       

QR-code полная версия (без шрифта и внешней компоненты для 8.2, 8.3 и любого типа клиента)

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Сканер штрих-кода

Предназначена для создания QR-code с указанием процента восстановления потерянных данных. Строка кодирования может содержать все печатаемые символы, в том числе и кириллические. Для работы не требуется внешняя компонента или шрифт.

2 стартмани

10.07.2018    8795    14    bobank    6