Пример работы с Web камерой (WIA)
Разработка - Разработка внешних компонент
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Пример 1: // самый простой (с вызовом диалога) (ПримерWIA.ert)
Device = CreateObject("WIA.CommonDialog");
Image = Device.ShowAcquireImage();
Image.SaveFile(Файл);
Пример 2: // делаем снимок как повезет (ПримерWIA.ert)
Device = CreateObject("WIA.DeviceManager");
Количество = Device.DeviceInfos.Count;
Для ин=1 По Количество Цикл
Если Device.DeviceInfos(ин).Type = 3 Тогда // тип устройства (VideoDeviceType)
dev = Device.DeviceInfos(ин).Connect();
Item = dev.ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}"); // сделать снимок (wiaCommandTakePicture)
Image = Item.Transfer("{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"); // в формат JPG (wiaFormatJPEG)
Image.SaveFile(Файл);
Прервать;
КонецЕсли;
КонецЦикла;
Пример 3: // выводим на форму изображение с камеры (ActiveX), делаем снимок (ПримерWIA2.ert)
Процедура СделатьФото()
Item = АктивИксWIA.Объект.Device.ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}"); // сделать снимок
Image = Item.Transfer("{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"); // в формат JPG (wiaFormatJPEG)
Image.SaveFile(Файл);
КонецПроцедуры
Процедура ПослеОткрытия()
АктивИксWIA = СоздатьОбъект("АктивИкс");
АктивИксWIA.УстановитьАтрибут(Форма, "ФАктивИксWIA");
Device = CreateObject("WIA.DeviceManager");
Количество = Device.DeviceInfos.Count;
Для ин=1 По Количество Цикл
Если Device.DeviceInfos(ин).Type = 3 Тогда // тип устройства (VideoDeviceType)
АктивИксWIA.СоздатьЭУ("WIA.VideoPreview");
АктивИксWIA.Объект.Device=Device.DeviceInfos(ин).Connect();
Прервать;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Вариант ActiveX предпочтительнее тем, что не тратится время на "разогрев" камеры (время на включение, на настройку яркости).
Вступайте в нашу телеграмм-группу Инфостарт
См. также
10 стартмани
20.03.2026 1746 19 v_peroff 8
1 стартмани
10.06.2025 2830 1 mdbruyfn 0
7320 руб.
19.04.2023 7313 1 0
6100 руб.
27.05.2022 13628 2 20
10 стартмани
06.04.2021 13289 15 softmaker 18