Имя: Пароль:
1C
 
Получить снимок с веб-камеры из 1С
0 MoGar
 
10.05.07
14:40
Задача: при вводе новой строки документа веб-камера делает снимок, который сохр.где-то на диске. Пользую технологию WIA
Траблема: не могу получить снимок вызовом метода, ссылка на объект-снимок только с вызовом визуальной формы(для тех, кто в теме GetItemsFromUI)
1 Программист 484
 
10.05.07
14:43
(0) Вопрос а почему нельзя найти этот файл - хотя бы по времени снимка...
2 MoGar
 
10.05.07
14:55
Я не ищу никакой файл, мне снимок с камеры надо получить!
3 almar
 
10.05.07
14:57
(0) А снимок чего делает камера при вводе новой строки?
4 mikecool
 
10.05.07
14:59
(3) думаю - главный вопрос не чего, а кого снимок делается... наверное офигевшего оператора :-)
5 Sonic
 
10.05.07
15:01
полгода назад где то помогал тут человекус новоросийска. даже ролики в итоге писал он в 1Ске с камеры
6 Программист 484
 
10.05.07
15:21
(0) Вобщето мысль очень интересная - надо подумать где можно применить...
7 svsrus
 
10.05.07
15:23
(6) можно в магазине применить. Расплачивается покупатель, бах и снимок его в базу. ИМХО для СБ вещь будет:)
8 svsrus
 
10.05.07
15:24
(7)+ в интим салоне. компромат сразу.:)
9 Программист 484
 
10.05.07
15:54
(8) + В бане и сразу на порносайт продаем
10 MoGar
 
14.05.07
12:22
Не помогли на форуме ну и ладно. Сам разобрался. Вот выкладываю тексты для 7.7 и 8.0, может кому нибудь потом пригодятся:

Для 7.7

Перем oDevice[5];
Device = CreateObject("WIA.DeviceManager");
Количество = Device.DeviceInfos.Count;
Для К=1 По Количество Цикл
   Если Device.DeviceInfos(к).Type = 3 Тогда
       Попытка
           oDevice[к] = Device.DeviceInfos(к).Connect();
       Исключение
           oDevice[к] = 0;
       КонецПопытки;
   Иначе
       oDevice[к] = 0;
   КонецЕсли;
КонецЦикла;
   
Для К = 1 По Количество Цикл
   Если oDevice[к] <> 0 Тогда
       Item = oDevice[к].ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}");
       Image = Item.Transfer("{557CF401-1A04-11D3-9A73-0000F81EF32E}");
       Image.SaveFile("D:\aaa.jpg");
   КонецЕсли;
КонецЦикла;

Для 8

Device = Новый COMОбъект("WIA.DeviceManager");
Количество = Device.DeviceInfos.Count;
oDevice = Новый Массив(Количество);
Для К=1 По Количество Цикл
   Если Device.DeviceInfos(к).Type = 3 Тогда
       Попытка
           oDevice[к-1] = Device.DeviceInfos(к).Connect();
       Исключение
           oDevice[к-1] = Неопределено;
       КонецПопытки;
   Иначе
       oDevice[к-1] = Неопределено;
   КонецЕсли;
КонецЦикла;
   
Для К = 1 По Количество Цикл
   Если oDevice[к-1] <> Неопределено Тогда
       Item = oDevice[к-1].ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}");
       Image = Item.Transfer("{557CF401-1A04-11D3-9A73-0000F81EF32E}");
       Image.SaveFile("D:\aaa.jpg");
   КонецЕсли;
КонецЦикла;
11 Программист 484
 
14.05.07
12:23
(10) - ок проверю у себя на камере - спасибо
12 gorlanovmax
 
08.08.08
20:17
To MoGar

У меня ошибка при создании WIA.DeviceManager

Device = CreateObject("WIA.DeviceManager");
{Документ.Посетитель.Форма.Модуль(55)}: Неудачная попытка создания объекта (WIA.DeviceManager)

В чем может быть проблема?
13 IamAlexy
 
08.08.08
22:37
14 gorlanovmax
 
09.08.08
11:39
IamAlexy

И как его прикрутить к 1С?

Если есть примеры, буду благодарен
15 IamAlexy
 
09.08.08
11:42
(14) на форму разместить activeX и обращаться к нему.
делал так работу с офисными документами (ворд и ексель на форме 1с, пдфвьювер и работу с картинками - изменение размеров, поворот и тд)
16 sttt
 
09.08.08
12:20
Есть еще гдето две-три штуки библиотек работы с TWAIN интерфейсом, я так раньше делал. Вот кажется одна из них:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=123&lid=6657
17 IamAlexy
 
09.08.08
13:01
а зачем галочки под датой поста?
18 Иде я
 
модератор
09.08.08
13:14
(17) добавил в базу знаний
19 sttt
 
09.08.08
13:19
http://msdn.microsoft.com/en-us/library/ms630368.aspx
(10)С моим английским я понял что только на XP SP1 будет работать.
(12) You will need WIAAut.dll to use the WIA Automation Layer.
Или сервис пак последний поставь. Может в этом проблема.
20 sttt
 
09.08.08
13:46
21 sttt
 
09.08.08
14:18
Есть еще библиотека avicap32.dll
22 gorlanovmax
 
09.08.08
16:18
To sttt

C Twain все понятно. только там сложней для оператора. При попытке сфоткать появляется окно с предпросмотром, там надо нажать "снять" и потом выбрать нужное фото и нажать "получить". А хотелось бы без всяких выборов и действий, нажал кнопку - камера сделала снимок.

ActivX: А что должно быть в параметрах элемента на форме?
WIAAut.dll: ее ложить в 1С или в Windows?
23 sttt
 
09.08.08
17:08
(22) У меня не возникали трудности. Единственно не умеет уменьшать картинку, но это можно натравить какой нибудь конвертер. И уже упоминал, что есть еще компоненты. И куча способов отиметь картинку :-)
24 gorlanovmax
 
09.08.08
17:24
Все проблема решена. Надо было поставить библиотеку.
25 IamAlexy
 
09.08.08
17:50
хм. у меня в висте WIAAut.dll по умолчанию есть.
как она в списке ActiveX называется?
чото захотелось попробовать как оно ...