Фотография с камеры через DirectX

20.02.20

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

Компонента для получения фотографии с WEB-камеры с использованием DirectX

Скачать исходный код

Наименование Файл Версия Размер
dsWebCam.zip
.zip 379,18Kb
20
.zip 2.2.1.8 379,18Kb 20 Скачать

Часто встречал на сайте компоненты для получения изображения с камеры.

Но основная часть использует для подключения к камере виндовую библиотеку AVICAP.DLL, которая в последних версиях Windows работает далеко не лучшим образом (если вообще работает). Лично у меня частенько был видел только зелёный экран.
 
Решил переписать получение фотки с использованием DirectX.
 

Использование в аттаче.

---
2017.02.01
Доделал, чтобы возвращало сразу двоичные данные - больше не надо что-то кодировать после получения.
 
Также добавлен метод для наложения водяного знака (см. использование).

компонента камера водяной знак watermark

См. также

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35616    110    127    

113

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    26840    133    98    

85

GGraphics - внешняя компонента для работы с картинками jpg (jpeg), png, bmp, gif, tif

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    76385    71    255    

189

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    45702    117    66    

61

Внешние компоненты 1С и язык C++

Разработка внешних компонент Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    5447    starik-2005    32    

40

Внешняя компонента для работы с Apach Kafka

Инструментарий разработчика Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    3323    70    ivan1703    26    

41

Внешняя компонента GraphQL клиент для 1С

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    2923    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. premierex 204 05.11.16 19:32 Сейчас в теме
(0) Автор, поправьте, пожалуйста, в названии понятие "вёб" на одно из общепринятых понятий: веб, вэб (или используйте его англоязычное написание /web/). Честно говоря, непривычно как-то. А так - тема интересная. Direct-X (DirectShow - это как раз тот набор компонентов, позволяющий работать с видео-потоками) - на данный момент, как мне кажется, самый функциональный набор решений для работы с ними в OS Windows.
Цена компоненты несколько завышена (imho). Есть более функциональные компоненты для работы с web-камерами, размещёнными на infostart.ru.
2. 7OH 69 05.11.16 20:47 Сейчас в теме
(1) premier, сейчас поправлю и описание и цену понижу.
Пример кода
11. D_E_S131 5 20.12.18 14:57 Сейчас в теме
А что в примере (2) за переменная (или реквизит формы) "dsWebCam"?
12. 7OH 69 25.12.18 02:04 Сейчас в теме
(11) верно подметили - там должно быть Компонента
3. 7OH 69 01.02.17 17:18 Сейчас в теме
Добавлен метод наложения водяного знака.

СтрокаОригинал = Base64Строка(Данные1.ПолучитьДвоичныеДанные());
СтрокаВодяной   = Base64Строка(Данные2.ПолучитьДвоичныеДанные());
		
Положение = 5; // 1 - 9 
Прозрачность = 80; //1-100
двДанныеРезультат = dsWebCam.ДобавитьВодянойЗнак(СтрокаОригинал, СтрокаВодяной, Положение, Прозрачность);

Показать
4. user702269_vabuyak 28.02.17 16:59 Сейчас в теме
ребята на 1с 8.3 и Server 2012 R2 работать будет?
5. 7OH 69 28.02.17 23:14 Сейчас в теме
У нас 2012 и 8.3.9, но это на сервере - всё работает.
На клиентах - от 7-ки до 10-ки.
На ХР тоже проблем нет.
6. Tanenok 05.05.17 14:46 Сейчас в теме
7. 7OH 69 05.05.17 21:20 Сейчас в теме
(6) Да, конечно.
У нас УТ 3.1.2 (Украина - аналог УТ 11).
Нативные компоненты появились ещё в 8.2, так что должно работать в большинстве конфигураций.
8. пользователь 08.05.17 10:36
Сообщение было скрыто модератором.
...
9. LtNas 09.05.17 13:59 Сейчас в теме
Я конечно дико извиняюсь, но где описание??? (см.использование) ???? В аттаче только dll и manifest
10. 7OH 69 09.05.17 20:26 Сейчас в теме
(9) пост 2 и 3.
В шапку код не пропустили без спойлера, а спойлер туда не ставится - пришлось отдельным постом делать.
13. nsirotkin@mail.ru 76 05.06.19 09:58 Сейчас в теме
Скачал компоненту. Окно с видео открывается, но в результате dsWebCam.Успех=Ложь Win7Sp1 (1C 8.3.14.1630), версия dll 2.2.1.6.
Что еще можно посмотреть/сделать?

ps: Тестовую обработку было бы полезно приложить в архив для скачивания... Версии x64 нет/не будет?
upd: убрал макет с компонентой
Прикрепленные файлы:
ТестWebКамера3.epf
14. 7OH 69 05.06.19 15:14 Сейчас в теме
(13) в вашей обработке немного можно подправить код
Функция КартинкаИзСтроки(стрКартинка, УникальныйИдентификатор)
в стрКартинка уже двоичные данные приходят (если нет - постучите в личку).
--
В целом проверил - работает.
directX установлен ?
15. nsirotkin@mail.ru 76 06.06.19 05:07 Сейчас в теме
(14) С новой компонентой (2.2.1.8) работает нормально. Спасибо.
16. ИНТЕГРА 25 17.10.19 17:43 Сейчас в теме
(14)
е приходят (если нет - постучите в личку)

Мне не приходят )

После вызова: dsWebCam.Старт(), открывается видео-окно, в нем нажимаю "сфотографировать" и далее по условию не проходит (Если dsWebCam.Успех Тогда ... ):
dsWebCam.Успех == Ложь

Подскажите в чем может быть проблема?

PS:
32бит, 8.3.12.1529. На более новых платформах не тестировал.
виртуальне веб камеры, вечером дома попробую на "железной" - отпишусь.
17. 7OH 69 17.10.19 18:56 Сейчас в теме
(16) не в курсе , что это за камеры.
Успеха нет видимо потому, что не выходит вывод с этой камеры из BMP в JPG запихнуть.
Опять же - с обычными камерами работает.
С пробросом в РДП средствами винды тоже работает.
От версии 1С не зависит - работает и на 8.3.15.1700.
Тут что-то специфическое в виртуальности.
18. ИНТЕГРА 25 17.10.19 22:15 Сейчас в теме
(17) проверил на железной камере, на другой конфигурации ПК - результат тот-же :(
Видео с камеры транслируется. Но в строку ничего не приходит:
&НаКлиенте
Функция ПодключитьКамеру(ID) Экспорт
    Если Не ПроинициализироватьКомпоненту() Тогда
        Возврат НСтр("ru= 'Компонента не установлена'");
    КонецЕсли;
	dsWebCam.ИмяКамеры = ID;
	dsWebCam.Старт();
	
	Если dsWebCam.Успех Тогда
        
      стрКартинка = dsWebCam.стрКартинка;
      сообщить(dsWebCam.стрКартинка);  
      Если Не стрКартинка = Неопределено Тогда	            
          АдресКартинки = КартинкаИзСтроки(стрКартинка, УникальныйИдентификатор);	         
	  КонецЕсли;
  иначе
	  сообщить("Ничего не пришло") /// *** валится сюда *** ///
   КонецЕсли;
	   
КонецФункции
Показать


Возможно кокой-то "Дельфийской" компоненты не хватает. Конвертация BMP->JPG каким методом происходит? Эксепшены посмотреть нигде нельзя в логах каких-нибудь?
Прикрепленные файлы:
19. ИНТЕГРА 25 17.10.19 23:36 Сейчас в теме
(18)Автор прислал новую версию - все получилось. Спасибо ему за это!
(обещал обновить в публикации)
20. ratter 4 20.02.20 07:59 Сейчас в теме
Дорогой автор, обновите, пожалуйста, здесь компоненту.
У меня в точности проблема как в (13) .
21. 7OH 69 20.02.20 10:22 Сейчас в теме
22. qwinter 680 15.01.21 14:26 Сейчас в теме
компонента умеет сохранять видео?
23. 7OH 69 15.01.21 15:11 Сейчас в теме
(22) нет.
не было необходимости.
Основной посыл - текст QR, ну и как доп функционал - сохранение фото с этими QR.
Видео то зачем ?
24. comptr 34 21.07.21 21:18 Сейчас в теме
Будет ли работать компонента на x64 платформе?
25. 7OH 69 21.07.21 23:07 Сейчас в теме
(24) походу нет.
Для 64 не пробовал силы ещё
Оставьте свое сообщение