"WebCam" — ActiveX-компонента для 1С


Компонента работает с устройствами, поддерживающими Twain32 драйвер (вебкамеры, фотоаппараты и др.)

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.
http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

Чтобы зарегистрировать компоненту в Windows — запустить reg.bat
(для удаления информации о компоненте в Windows — запустить unreg.bat)
или использовать совместно с хранилищем внешних компонент: //infostart.ru/projects/2863/

*** Приложены демо-примеры для 1С 7.7 и 8.1

*** Добавление на форму 1С:

v7: Использовать 1С++:

Перем Вебкамера;

Процедура ПослеОткрытия()
Вебкамера = СоздатьОбъект("АктивИкс");
Вебкамера.УстановитьАтрибут(Форма, "АктХ");
//"АктХ" - идентификатор элемента диалога, на месте которого будет создан элемент ActiveX.
//только для реквизитов диалога типа "Текст".
Вебкамера.СоздатьЭУ("Душелов.WebCam");
Вебкамера.УстановитьФокус();
КонецПроцедуры

Процедура АктХ_ПослеСохраненияКартинки(Файл)
Сообщить(Файл);
КонецПроцедуры

v8: Меню «Форма» — «Вставить ActiveX…» — Выбрать элемент «Душелов.WebCam»

*** Методы:

  • Запустить видео:
    Старт();
  • ОСТАНОВИТЬ ВИДЕО:
    Стоп();
  • ПОЛУЧИТЬ КАРТИНКУ
    СохранитьКартинку(Файл, Текст);

*** События:

  • ПослеСохраненияКартинки(Файл);

69 Comments

  1. Душелов

    Ах да, требуется директ-икс, не ниже 8.1

    Reply
  2. coder1cv8

    Класс!

    Reply
  3. CheBurator

    зачет!

    Reply
  4. artem666

    На сколько помню вебкамеру можно подхатить через COM… но все равно клево!

    Reply
  5. luns

    Прикольно. Фотки в базу добавлять..

    Reply
  6. MaxiSoft

    Супер как можно получить добро на использование компоненты в своей разработке, довольно удобно вводить фотографий клиентов в базу, достаточно просто подключить камеру и сделать снимок! Большой респект за разработку.!!!

    Reply
  7. Душелов

    (6) все мои разработки можно использовать в своих разработках. можно где-нить в коде в комменте меня упомянуть и все 🙂

    Reply
  8. gavril

    Зачет.

    Так же новый товар можно добавлять 😉

    Reply
  9. Дуб

    А видео оно показывает? В своё время прикручивал систему ввода в БД фотографий пользователей. Прикрутил, работает, но в режиме видео не пашет. Т.е. чтобы «прицелиться», использую отдельную программку (запускается из 1С, но как Active-X не прикрутить её никак), а потом уже перехватываю камеру ВК и ловлю снимок..

    Reply
  10. Душелов

    (9) Пример советую посмотреть. Видео в левом окошке, скриншот полученный — в правом.

    Reply
  11. alexpa2005

    Что-то не скачивается. :(( Может, ссылку удалили, или с сервером проблемы. Пишет — «не удается загрузить download.php». Попробую завтра. А плюсик ставлю сегодня!!!

    Reply
  12. kabanoff

    Молодца! Интересная разработка.

    Reply
  13. Дуб

    (10) посмотрел. Прикольно. Но через раз выдаёт «Не удалось настроить графические параметры. Значение не попадает в ожидаемый диапазон». В принципе, если 1С (Предприятие) перезапустить — то запускается.

    В целом — мне понравилось. Тем более, что до этого искал — ничего похожего не находил.

    Reply
  14. Fisherru

    Наверное, возможно такое прикрутить к ЧеБурашкиной «[КОНТРОЛЬ] Охрана 1.0 — пропускной пункт»

    Она бы тогда ещё и сотояние сотрудников на вползании/выползании фиксировала. :)))))

    Reply
  15. pioneex

    Интересно! Вопрос: как мне добавить в произвольной форме элемент управления «Душелов.WebCam», кроме копирования с демо примера?

    Reply
  16. JohnyDeath

    (15) наверное так: v8: Меню «Форма» — «Вставить ActiveX…» — Выбрать элемент «Душелов.WebCam»

    Reply
  17. pioneex

    Спасибо. Всё получилось!

    Reply
  18. pioneex

    Всё хорошо, но второй раз в одной сессии v8 открыть не получается…

    Reply
  19. seermak

    я тоже уже прикрутил обработку в программу — а ошибку (18) нельзя никак исправить?!

    Reply
  20. Душелов

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

    Reply
  21. Душелов

    (18) Ошибку воспроизвести не удалось. При закрытии формы точно вызываете команду Стоп(); ?

    Reply
  22. seermak

    Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)

    Если НЕ ВебКамера = Неопределено Тогда

    ВебКамера.Стоп();

    КонецЕсли;

    КонецПроцедуры

    (21) — из программы

    Reply
  23. Душелов

    А мой пример как отрабатывает?

    Reply
  24. seermak

    (23) специально еще раз поставил — одинаково Картинку выложил: http://infostart.ru/projects/2817/ рис 4 — тоже самое и на Вашей обработке

    Reply
  25. Душелов

    (24) Давай конфигурацию, посмотрю 😉

    Reply
  26. seermak

    (25) обработка на : http://infostart.ru/projects/2817/ — еще заметил что после закрытия обработки камера остается подключенной и больше ни на какие программы работы с камерой не реагирует, отключается только тогда, когда закрываешь сессию. я на viste, но (по комментариям) проблема не в ней. Дрова: Sonix / 24.04.2007 / 5.7.28.500 /Acer Crystal Eye webcam

    Reply
  27. Душелов

    (26) Скачал, посмотрю. А мой детектор движений как с камерой твоей работает? Там технология другая используется.

    Reply
  28. Душелов

    (26) Твоя обработка у меня нормально работает, закрыл, открыл, заново запустил — все ок.

    Ладно, попробую пошаманить в «Остановить()»…

    Reply
  29. seermak

    (27) ага, во всяком случае, закрывается и стартует без ошибок.

    Reply
  30. Душелов

    (29) Попробуйте теперь, и тест камеры тоже. Как это работает? (в тесте камера запускается 2 кнопкой слева, останавливается 3-ей)

    Reply
  31. seermak

    (30) по TestCam — по 2 кнопке — подключается +, по 3 — выключается, но только изображение с камеры, сама же камера остается включенной (сигнализирует светодиод возле камеры) Камера полностью отрубается только тогда, когда «положу» Form1. Ну и, соответственно, пример демо работает также. Ладно, Василь, видать так мой бук работает. 🙁 (Хотя детектор движения работает же нормально — а нельзя никак туда слить нужные функции?). У меня в конторе еще пока не купили камеру, (может на их камере пойдет без затыков) так что время терпит. Все равно, большое спасибо!

    Reply
  32. Gens76

    СУПЕР !!!

    Reply
  33. arjuna

    Реально ли сделать просмотр видео из файла???

    Reply
  34. Душелов

    (33) Берем АктивХ Windows Media Player и вперед.

    Reply
  35. arjuna
  36. dmam

    У меня тоже выскакивает ошибка при повторном открытии обработки и запуске.

    Сделал то-же самое с помощью wiaaut.dll:

    Перем ВебКамера;

    Процедура ПослеОткрытия()

    ВебКамера = СоздатьОбъект(«АктивИкс»);

    ВебКамера.УстановитьАтрибут(Форма, «АктХ»);

    ВебКамера.СоздатьЭУ(«WIA.VideoPreview»);

    КонецПроцедуры

    //******************

    Процедура ПолучитьКартинку()

    Item = ВебКамера.Объект.Device.ExecuteCommand(«{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}»);

    Image = Item.Transfer(«{557CF401-1A04-11D3-9A73-0000F81EF32E}»);

    Если ФС.СуществуетФайл(«C:WebCam.jpg») = 1 Тогда

    ФС.УдалитьФайл(«C:WebCam.jpg»);

    КонецЕсли;

    Image.SaveFile(«C:WebCam.jpg»);

    КартинкаКамеры.Загрузить(«C:WebCam.jpg»);

    КонецПроцедуры

    Reply
  37. Душелов

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

    Reply
  38. Martyn

    Плюс ставлю чичас — смотрю потом! Долго искал нечто подобное…. Автору БОЛЬШОЙ респект!

    Reply
  39. ev-kov

    Компонента WIA не использует случаем ?

    Reply
  40. Душелов

    Что есть WIA ?

    Reply
  41. ev-kov

    Душелов

    WIA это Microsoft® Windows® Image Acquisition (WIA) Automation Library version 2.0

    какая то ошибочка есть в ВК скрин ошибки(http://slil.ru/27461401). на тестовом примере и ловится, после того как получили картинку и закрыли форму обработки в 1с, открываем по новой обработку, жмем старт, в появившемся активиксе выбираем параметры потока, нажимаем ОК и дальше не работает ничего — ошибка.

    Хотелось бы ускорить отладку ошибки, плюс есть некоторые вопросы, не бесплатно, можно обсудить в асе (62-387-523).

    Reply
  42. Душелов

    Эту компоненту я более не развиваю.

    Reply
  43. ev-kov

    (42) очень жаль, а как насчет исходников ?

    Reply
  44. Skobelev

    Классно, хочу прикрутить к системе пропусков

    Reply
  45. Jejer

    Супер, спа.

    А можно сделать, чтобы при старте каждый раз не появлялось окно Properties?

    Reply
  46. CAIN

    У меня при запуске выдал ошибку: «не удалось нгастроить графические параметры»

    Reply
  47. anig99

    Такая же фигня что и у многих с повторным стартом после остановки. Пробовал на ноуте со встроенной камерой на XP. Если выбирать прямой драйвер к камере, то повторно запустить не получается. Если же выбирать virtual driver (ноут asus поставляется с утилитами, в т.ч. и драйвером для пост-обработки), то стартует заново нормально.

    Reply
  48. Душелов

    Еще раз повторюсь (42)

    Reply
  49. anig99

    (49) но это не значит, что другие ими не пользуются и не читают комменты?

    Reply
  50. mirco

    А под 8.2 существует способ использовать компоненту ?

    Reply
  51. Душелов

    (51) Управляемые формы? Читайте мою статью.

    Reply
  52. rus_2403

    Компонента работает в демо-режиме или нет.Если да то в чем он выражается.Спасибо

    Reply
  53. Lokky

    Автору БОЛЬШУЩЕЕ СПАСИБО!!

    Только вопрос.. А можно ли как-нибудь при старт() чтоб она запускалась не спрашивая настройки камеры?

    Reply
  54. yus12

    А скажите пожалуйста а в 8.2 упр. приложении будет работать?

    Reply
  55. yus12

    Никто не пробывал?

    Reply
  56. gorneev

    Огромное спасибо автору, на управляемом приложении работает.

    Reply
  57. ronron

    Автору спасибо и уважуха! Если заработаю на этом деньжат (что сделать постараюсь) — приду поделиться.

    Reply
  58. freek

    На основе данной компоненты сделали конфу по учету рабочего времени сотрудников

    Reply
  59. serpisal

    Автору плюс за решение

    Reply
  60. yoyoman

    Я был бы несказано рад, если бы можно было отключить появление настроек 🙁

    Reply
  61. Dansur

    (62) yoyoman, Автора уже нет в живых. светлая память.

    Reply
  62. eugen91

    Супер, работает! Спасибо большое! тестировали на УТ 10.3

    Reply
  63. Alex_241

    Добрый день, а откуда можно скачать вашу разработку желательно с описанием и примером, хотел потестировать. Заранее благодарен)))

    Reply
  64. Diversus

    Внешняя компонента аналогичной направленности, только Native API для 1С 8.2 и 8.3: Внешняя компонента MediaBuild (создание фото и видео с веб-камер и IP-камер) для 1С:Предприятие 8.2, 8.3 (NativeAPI).

    Умеет:

    — делать фото с пред просмотром и без него

    — снимать видео

    — делать скриншоты

    — поддерживает работу с веб-камерами и IP-камерами

    — поддерживает наложение на видео дополнительного текста

    Reply
  65. 7OH

    Спасибо за компоненту — локально работает на 5+.

    Кто подскажет, можно ли и как сделать работу через RDP-APP ?

    Reply
  66. 7OH

    А не поможете с проблемой ?

    Создал ПолеHtmlДокумента на форме (толстый клиент пока — для отладки).

    Далее

    ЭлементыФормы.Актив.УстановитьТекст(«<HT ML><body><OB JECT id=vk classid=CLSID:2F29718C-BA95-3F0D-A1E5-F75CBF88285D width=»»100%»» height=»»100%»»></OBJECT></body></HTML>»);
    

    На форме сначала запрос на разрешение использования ActiveX — потом появляется черное окно.

    Но при попытке доступа к свойствам

    ЭлементВК = ЭлементыФормы.Актив.Документ.getElementById(«vk»);
    Если ЭлементВК = Неопределено Тогда
    Сообщить(«Не найден объект компоненты!»);
    Возврат;
    КонецЕсли;

    виснет и всё.

    Если уираю проверку и делаю стразу Старт() — тоже виснет.

    Похоже не может показать запрос окна свойств камеры.

    Reply
  67. Иной

    А получать изображение с камер к которым доступ по IP никто не пробовал?

    Reply
  68. zsergey_

    Большое спасибо!!!

    Reply
  69. Desteny-life

    (46) (54) (62)

    Автор исходников не распространяет, поэтому в самой компоненте наверное не отключишь при старте окно «Свойство», но можно сделать так — если подключена одна камера:

    ВебКам = ЭлементыФормы.ЭлементУправления1;

    Shell = Новый COMОбъект(«WScript.Shell»);

    Shell.SendKeys(«{ENTER}»);

    ВебКам.Старт();

    Программное нажатие клавиши ENTER.

    Окно будет появляться на несколько секунд, и не нужно будет от пользователя никаких действий.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *