ActiveX компонента WebCamX для работы с веб-камерой!




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. alexk-is

    (0) На такой маленький текст 10 ошибок 🙁

    Reply
  2. SerG_121

    (1) 😀 Да, невнимательный и в торопях писал!Все исправил можно перечитать )))

    Reply
  3. zk96

    Интересно. Попробую прикрутить к 7.7

    Reply
  4. SerG_121

    (3)Дерзай, должно получиться! 🙂

    Reply
  5. wolder

    Ещё бы транслирование on-line для других пользователей было. Вот было бы здорово! 🙂

    Reply
  6. SerG_121

    (5)Покупай ip Камеру и можно транслировать и управлять ею 🙂

    Reply
  7. anig99

    (5) http://rumlin.narod.ru/WME.htm — вот что-то подобное на машине с камерой (без участия 1с), на клиентских машинах просто проигрывать видео в 1с (через эту компоненту или через тот же miracle)

    Reply
  8. anig99

    (6) я вот тоже себе домой хочу wifi ip камеру…

    Reply
  9. SerG_121

    (8)Было бы не плохо )))

    Reply
  10. O-Planet

    А на чем это? А код как посмотреть? Точнее, нет: как можно заинтересовать автора, чтобы посмотреть код? 🙂 Сигнал с камеры через winapi функции ловится?

    Reply
  11. SerG_121

    (10)А зачем Это тебе? :)))

    Reply
  12. O-Planet

    (11) Хочу использовать в своей разработке одной, но нужно доработать функционал.

    Reply
  13. SerG_121

    (12)В инете полно примеров реализации сигнала с камеры через WinAPI!!!!

    Reply
  14. Muhin555

    В 8.1 работает!!! Проверено!!!

    Reply
  15. zk96

    Класс! В 7.7 прекрасно работает(с использованием 1С++). Спасибо. Прикольно получилось.

    Теперь осталось придумать для чего его испоьзовать 😀

    Reply
  16. SerG_121

    (15) 🙂

    Reply
  17. anig99

    (15) фотография посетителей для СКУД системы, фотографии для пропусков, фотографии для справочника физ.лица

    Reply
  18. iov

    (18) или регистрации факта передачи товара например или фото покупателя в кассе или фото буха при схождении «благодатного» баланса.

    P.S. надо религию придумать с тезисами типа «Нерасходящийся баланс» и «Милость налоговая по отношению к мученикам-бухгалтерам». И налоги потом не платить и на государство плевать.

    Reply
  19. sound

    Набросал обработку для сохранения в справочник «Физические лица»

    Reply
  20. DoctorRoza

    У меня вылетает ошибка .. 8.2

    Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)

    …………………..

    ПолноеИмяФайла = РаботаСФайлами.УдалитьЗапрещенныеСимволыИмени(ПолноеИмяФайла);

    {Обработка.CamX.Форма.Форма.Форма(14,19)}: Переменная не определена (РаботаСФайлами)

    ПолноеИмяФайла = <<?>>РаботаСФайлами.УдалитьЗапрещенныеСимволыИмени(ПолноеИмяФайла);

    Что не так? Компонента зарегистрирована!

    Reply
  21. SerG_121

    (20)В модуле (РаботаСФайлами) не находит функцию (УдалитьЗапрещенныеСимволыИмени), или просто нет модуля . можно просто убрать эту строку:

    «ПолноеИмяФайла = РаботаСФайлами.УдалитьЗапрещенныеСимволыИмени(ПолноеИмяФайла);» и все будет работать. Вот держи, уже с убранной строкой!

    Reply
  22. SerG_121

    (19) Похвально :), уже свои обработки выкладывают с применением моей компоненты 🙂

    Reply
  23. sound

    (22) это даже не свои, просто переделанная обработка в (0) + мысли из (17), а уж техники то нам не занимать 🙂

    Reply
  24. SerG_121

    (23)Ну все же 🙂

    Reply
  25. sound

    (24) думаю, можно даже (19) в (0) прилепить в качестве примера, не делать же отдельную публикация из-за 3-х строк кода :), а так хоть возможно польза кому-то будет.

    Reply
  26. sound

    А кстати оно в png умеет сразу сохранять?

    Reply
  27. SerG_121

    (26)Как сразу? Устанавливаешь параметры в функции и сохраняешь.

    Например:

    //SaveBitmapToFile(Путьсохфайла, 1-BMP 2-JPG 3-PNG, качество JPG(0-100) сжатие у PNG(0-9))

    ЭлементыФормы.WebCam.SaveBitmapToFile(«C:Снимок.png», 3, 9);

    Reply
  28. sound

    Чо-то я не нашел в описании такого 🙂 Или это в примере было? В общем описание бы подправить чтоли

    Reply
  29. SerG_121

    (28)Есть в обработке примере )

    Reply
  30. sound

    (29) не, так не канает, а если я хочу сам что-то написать? Нельзя так руки связывать 🙂

    Reply
  31. SerG_121

    (30)Что-то я тебя не пойму! Что не канает?

    Reply
  32. sound

    (31) понимаешь хочется ведь не лазить по исходникам, чтобы понять как оно работает, а чтоб была readme, и чтоб там было написано:

    SaveBitmapToFile и описания всех параметров и как оно работает

    Reply
  33. Rego1337h

    Еще вебкамерой можно управлять через WIA (Windows Image Acquisition), если поддержка (у камеры) есть. У меня работает примерно так:

    Инициализация:

    Device = СоздатьОбъект(«WIA.DeviceManager»);

    CamDevice = Device.DeviceInfos(1).Connect();

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

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

    Video.СоздатьЭУ(«WIA.VideoPreview»);

    Video.УстановитьФокус();



    Фото:

    Dev = Video.Объект.Device;

    Item = Dev.ExecuteCommand(«{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}»);

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

    Image.SaveFile(ФотоФайл);

    Reply
  34. SerG_121

    (33)Можно и так ) А можно и вот так ) я так раньше делал ))) но захотелось большего )

    Процедура КнопкаВыполнитьНажатие(Кнопка)

    Попытка

    УдалитьФайлы(«c:Documents and SettingsAll UsersApplication DataMicrosoftWIA»);

    Исключение

    Сообщить(ОписаниеОшибки());

    КонецПопытки;

    Image = Новый COMОбъект(«WIA.ImageFile»);

    DevManager = Новый COMОбъект(«WIA.CommonDialog»);

    Попытка

    Image = DevManager.ShowAcquireImage();

    ИмяФайла = ПолучитьИмяВременногоФайла();

    Image.SaveFile(ИмяФайла);

    Кар=Новый Картинка(ИмяФайла);

    ЭлементыФормы.ПолеКартинки1.Картинка=Кар;

    Исключение

    //

    КонецПопытки;

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

    Reply
  35. Rego1337h

    (34) в моем примере инициализация проходит при открытии документа. ActiveX подключается с помощью 1c++. прямо в документе идёт предпросмотр видео с камеры. при нажатии кнопки, фото сохраняется

    Reply
  36. DitriX

    Как бы еще к IP камерам прикрутить это счастье, было бы шикарно…

    Reply
  37. SerG_121

    (36)Извини, но IP камеры у меня нету! Если была то давно бы уже написал компоненту ))

    Reply
  38. Performer

    А разрешение фото менять можно?

    Reply
  39. Performer

    На Win7 не регистрируется компонента

    Reply
  40. SerG_121

    (39) поставь в свойствах файла для C:windowssystem32
    egsvr32.exe, эмуляция запуска под winXP. И все нормально зарегистрируется.

    Reply
  41. SerG_121

    (38) нет.

    Reply
  42. zk96

    (39) У меня под Win 7 нормально зарегестрировалось. Сделал bat-файл, в нем прописал ПОЛНЫЙ путь к компоненте и запустил от имени администратора (по правой кнопке мыши). Все работает. Напиши как регистрируешь?

    Reply
  43. Tato4ka

    Подскажите, если подключу компоненту к компу в котором Розница, Веб-камеру, я смогу удаленно наблюдать через интернет за торговым залом? Или нет? Если нет то что для этого надо? Если надо допилить компоненту то буду выступать в роли заказчика, с оплатой соотвественно.

    Reply
  44. SerG_121

    (43)Пишите в личку, договоримся!

    Reply
  45. kuppidon

    Image = Новый COMОбъект(«WIA.ImageFile»);

    DevManager = Новый COMОбъект(«WIA.CommonDialog»);

    Попытка

    Image = DevManager.ShowAcquireImage();

    ИмяФайла = ПолучитьИмяВременногоФайла();

    Image.SaveFile(ИмяФайла);

    Как камеру в даном случае подключить? А то сканер цепляется.

    Reply
  46. SerG_121

    (45)Воспользоваться моей ActiveX компонентой 🙂

    Reply
  47. kuppidon

    в управляемом приложении нет возможности создать элементы типа АктивИкс 🙁

    Reply
  48. Kobra_RU
    kuppidon пишет:

    в управляемом приложении нет возможности создать элементы типа АктивИкс

    Есть…

    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=557640

    Reply
  49. linsa

    Возможность-то есть… только снимок в файл сохранить таким образом не получается. А ведь запись видео и создание снимков и есть то, ради чего нужна эта компонента. Не любоваться же самим собой хорошим? )))

    Reply
  50. anig99

    (49)

    Image = Новый COMОбъект(«WIA.ImageFile»);

    DevManager = Новый COMОбъект(«WIA.CommonDialog»);

    Попытка

    Image = DevManager.ShowAcquireImage();

    ИмяФайла = ПолучитьИмяВременногоФайла();

    Image.SaveFile(ИмяФайла);

    Не это?

    Reply
  51. linsa

    Я имею в виду штатные функции данной ActiveX-компоненты. Если ее подключать обходным путем (указан выше) в управляемой форме — сохранить снимок в файл — возможности не представляется.

    Если есть обходной путь (скриншот области формы или что еще) — буду рад.

    Reply
  52. anig99

    (51) сразу не увидел. В 14 версии платформы вроде что-то намутили со скачкой ActiveX на машину пользователя.

    Reply
  53. linsa

    Так проблема не с установкой ActiveX, а с тем, что браузер не позволяет ей работать с файловой системой. Исходя из того, что типовая компонента «Расширения для работы с файлами» это умеет, считаю, что в принципе это возможно.

    Reply
  54. maljaev

    У меня почему-то даже в 1С77 сохранять в файл не хочет. Пишет что метод не SaveBitmapToFile не найден. И в объект-браузере SaveBitmapToFile идет как свойство, а не как метод, в отличии скажем от Play. Видео показывает, сохранять не хочет…. У кого есть пример удачного сохранения картинки из 1С77?

    Reply
  55. maljaev

    Удалось разрулить. У меня на форме объект WebBrowser, в нем HTML-страничка, на страничке два контрола <object> с содержимым WebCamX. Из тела страницы яваскриптом сохранение не хочет идти, видимо действительно есть какое-то ограничение по безопасности браузера. Путем долгих экспериментов удалось найти рабочий вариант, с сохранением из 1С77:

    Результат=Браузер.Объект.document.webCam1.SaveBitmapToFile(«c: est1.jpg»,2,80);

    Результат=Браузер.Объект.document.webCam2.SaveBitmapToFile(«c: est2.jpg»,2,80);

    Reply
  56. jdan

    (46) Возможно ли прикрутить к WebcameraX управление из вебкамеры, т.е. на вебкамере есть кнопка чтобы при нажатии ее происходило событие, например сделать снимок?

    Reply
  57. SerG_121

    (56)А что тебе мешает это сделать программно?

    Reply
  58. jdan

    А как из 1с перехватить нажатие кнопки на вебкамере, я так думаю это только через драйвер вебкамеры возможно.

    Reply
  59. jdan

    (57) А как из 1с перехватить нажатие кнопки на вебкамере, я так думаю это только через драйвер вебкамеры возможно.

    Reply
  60. SerG_121

    (59)да только через драйвер

    Reply
  61. jdan

    (60) А через WIA.ImageFile в 1с можно перехватить нажатие кнопки на вебкамере?

    Reply
  62. maljaev

    У меня вот камеры почему-то по WIA не перехватываются, возможно не поддерживаются, а возможно заморочки Win7. К тому же если камера уже отображается в ActiveX, то вряд ли ты ее чем-то еще перехватишь.

    Reply
  63. yus12

    Может кто то знает какие веб камеры еще поддерживаю WIA, так как у меня управляемое приложение нормальных способов кроме использования WIA я не нашел

    Reply
  64. yus12
    maljaev пишет:

    т(с испо

    maljaev пишет:

    Удалось разрулить. У меня на форме объект WebBrowser, в нем HTML-страничка, на страничке два контрола <object> с содержимым WebCamX. Из тела страницы яваскриптом сохранение не хочет идти, видимо действительно есть какое-то ограничение по безопасности браузера. Путем долгих экспериментов удалось найти рабочий вариант, с сохранением из 1С77:

    Результат=Браузер.Объект.document.webCam1.SaveBitmapToFile(«c: est1.jpg»,2,80);

    Результат=Браузер.Объект.document.webCam2.SaveBitmapToFile(«c: est2.jpg»,2,80);

    А можно пример у вас взять для управляемого приложения, очень надо.

    Reply
  65. maljaev

    У меня нет примера для управляемого приложения. Писал под 1С77, обошелся использованием этого ActiveX, но пришлось дополнительно в свойствах обозревателя (IE) разрешить использование ActiveX без запросов и блокировок, тем самым снизив уровень безопасности браузера. В данном случае было допустимо.

    В HTML-документе вставил типа:

    <object id=»webCam» classid=»clsid:86EBC08A-0E46-4EC8-A702-0AA0BE57D8EE» style=»width:320px; height:240px;»></object>
    

    В коде 1С:

    Результат=Браузер.Объект.document.webCam.SaveBitmapToFile(КаталогФормы+»snapshot»+Формат(Док.ДатаДок,»ДДДММГГГГ»)+»»+Док.НомерДок+».jpg»,2,80);

    Думаю, что для режима управляемого приложения, если рассчитывать на массовое использование без изменения настроек браузера, будет правильнее использовать решение на Flash. Я пробовал, получалось всё замечательно, но локальное сохранение работает долго, для быстрого — необходимо формировать POST-запрос к веб-серверу с передачей «сырого» изображения, и уже в серверной части производить сохранение. Я брал пример отсюда http://www.xarg.org/project/jquery-webcam-plugin но переделывал его для использования без фрэймворка Jquery, а кроме того менял и перекомпилировал SWF для сохранения в разрешении 640х480 (по умолчанию 320х240).

    Reply
  66. yus12

    Спасибо вам огромное, буду использовать веб браузер, будет использоваться не на производстве, поэтому опасности нет 🙂

    Reply
  67. Varies

    Это конечно хорошая попытка, но как писали выше работать с чем угодно (сканер, камера, веб-камера) довольно просто через WIA, и не нужно регистрировать дополнительные компоненты ActivX.

    Reply
  68. yus12
    Varies пишет:

    Это конечно хорошая попытка, но как писали выше работать с чем угодно (сканер, камера, веб-камера) довольно просто через WIA, и не нужно регистрировать дополнительные компоненты ActivX.

    Пробывал я, но увы новые веб камеры уже не имеют WIA. Вот у меня к примеру встроеная веб-камера, и вот только через эту компоненту мне удалось ее подключить. Кому интересно могу дать пример обработки на управляемой форме.

    Reply
  69. 46ssv

    Вопрос на засыпку…1с 8.2 веб-клиент…натолкните на мысль как организовать получение снимка с веб-камеры???

    P.S.пробывал через WIA.Devicemanager — пишет что не видит ни одну камеру (камера на ноуте встроенная), ОС Windows 7.

    пример кода —

    ВременныйФайл = ПолучитьИмяВрФайла();

    Device = Новый COMОбъект(«WIA.DeviceManager»);

    Сообщить(Device);

    DevCount = Device.DeviceInfos.Count;

    Сообщить(DevCount);

    Image = Новый COMОбъект(«WIA.ImageFile»); //создаем объект «Изображения» в WIA для дальнейшей работы с ним

    Сообщить(Image);

    DevManager = Новый COMОбъект(«WIA.CommonDialog»); //а это диалог сканирования

    //DevManager.ShowSelectDevice(,Истина);

    Если DevCount>1 Тогда

    Image = DevManager.ShowAcquireImage(,,,,Истина); //записываем сканированное изображение

    Иначе

    Image = DevManager.ShowAcquireImage();

    КонецЕсли;

    IFP = Новый COMОбъект(«WIA.ImageProcess»); //создаем фильтр для сохранения изображения

    IFP.Filters.Add(IFP.FilterInfos(«Convert»).FilterID);

    IFP1 = IFP.Filters(1);

    Для К = 1 По IFP1.Properties.Count Цикл

    Если IFP1.Properties(К).Name = «FormatID» Тогда

    IFP1.Properties(К).Value = «{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}»; //конвертируем в PNG

    Прервать;

    КонецЕсли;

    КонецЦикла;

    Image = IFP.Apply(Image); //применяем фильтр на изображение

    Image.SaveFile(ВременныйФайл);

    Reply
  70. hnya

    Спасибо большое, даже не могла представить, что можно совместить работу 1с с веб-камерой!

    Reply
  71. Seron

    Добрый день.

    Скажите пожалуйста можно ли протестировать Вашу обработку ActiveX компонента WebCamX для работы с веб-камерой», возможности скачать у меня к сожалению пока нету, если возможно и вас не затруднит выслать обработку мне на почту: seron@inbox.ru

    Спасибо, буду очень благодарен

    Reply
  72. mick_777

    Я снял видео с помощью компоненты, нажал проиграть — и потом хотел сделать снимок

    выдало ошибку.

    Возможно ли:

    1. делать перемотку видео файла вперед назад

    2. делать снимки с отснятого видео

    Если да — то подскажите как это сделать

    Reply
  73. mirco

    (69)

    Я делал для управляемых форм…еще год назад. Причем на самоисной компоненте. Если найду — подскажу.

    Reply
  74. aprol

    (69) нашлось решение проблемы?ибо у меня что то похожее: Win7,камера(встроенная) включена, но Device.DeviceInfos.Count = 0 . не могу найти косяк(

    Reply
  75. Созинов

    Обработке +, т.к. в моем случае помогла.

    Reply
  76. KotMurza

    (54) maljaev,

    У меня почему-то даже в 1С77 сохранять в файл не хочет. Пишет что метод не SaveBitmapToFile не найден. И в объект-браузере SaveBitmapToFile идет как свойство, а не как метод, в отличии скажем от Play… У кого есть пример удачного сохранения картинки из 1С77?

    [+] [−]

    У меня аналогичная проблема.

    Только нет никаких Веб-браузеров, тупое заявление, что метод SaveBitmapToFile не найден.

     WebCam=СоздатьОбъект(«WebCamProj1.WebCamX»);
    WebCam.SetDevice(0);
    WebCam.SaveBitmapToFile(«d:WebCam.jpg», 2, 30); 
    Reply
  77. KotMurza

    Победил.

    Процедура ПослеОткрытия()
    ВебКамера = СоздатьОбъект(«АктивИкс»);
    
    ВебКамера.УстановитьАтрибут(Форма, «АктХ»);
    ВебКамера.СоздатьЭУ(«WebCamProj1.WebCamX»);
    ВебКамера.УстановитьФокус();
    
    ВебКамера.Объект.SetDevice(0);
    ВебКамера.Объект.Play();
    
    КонецПроцедуры
    
    
    Процедура Снимок()
    ИмяФайла = «d:WebCam.jpg»;
    Попытка
    Ок=ВебКамера.Объект.SaveBitmapToFile(ИмяФайла, 2, 30);  //(Путьсохфайла, 1-BMP 2-JPG 3-PNG, качество JPG(0-100) PNG(0-9))
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    КонецПроцедуры
    
    
    
    Процедура ПриЗакрытии()
    ВебКамера.Объект.Stop();
    ВебКамера.Уничтожить();
    КонецПроцедуры
    

    Показать

    Reply
  78. yoyoman

    А чем отличается от обработки Душелова?

    Reply
  79. yoyoman

    ааа незавимо от .net все понятно

    Reply
  80. delavar

    Интересует расширение возможностей компоненты WebCamx, а именно сохранение в файл снимка с различным разрешением. Готов обсудить условия доработки — ton-a@yandex.ru

    Reply
  81. SerG_121

    (80)Мне кажется что три типа файла достаточно для дальнейшей обработки снимка!

    Reply
  82. delavar

    мне не тип файла важен, а разрешение картинки- по умолчанию 640 на 480 и никак не изменить это

    Reply
  83. Zas1402
    На такой маленький текст 10 ошибок smile:(

    ну не придерайтесь

    Reply
  84. arjuna

    Возможно ли наложение произвольного текста на видео поток?

    Reply
  85. SerG_121

    (84)Да, возможно! Но только при помощи другой компоненты!

    Reply
  86. arjuna

    (85) Кинте мне пожалуйста тестовое письмо на емайл fortlabs(sobaka)yandex.ru, есть предложение.

    Reply
  87. hibico

    Спасибо.

    То что доктор прописал.

    Reply
  88. ddemon

    (85) компонента интересная! но под управляемой формой показывает только видео. фото сделать не получается, выдает ошибку Метод не найден «SaveBitmapToFile», с чем может быть связано? Не пробывали ее сами под управляемой формой?

    еще вопрос а у компоненеты VideoGraberX есть возможность сохранение фото?(85)

    Reply
  89. ddemon

    Спасибо, вопрос стал не актуален. Нашел сам решение.

    Reply
  90. olo_lo4

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

    Reply
  91. maljaev

    (91) olo_lo4, разумеется, ведь 1С как раз создана для захвата, анализа и обработки изображений и видео. Можно номер авто заляпанный грязью распознать, можно посчитать сколько людей в толпе, можно по фотографии найти человека среди посетителей — всё что угодно, притом средствами платформы.

    А если серьезно — то такую задачу способны выполнять только весьма дорогие системы видеонаблюдения, да я и сам бы не поверил что такое возможно в принципе если бы не столкнулся с ними по работе.

    Reply
  92. harutyunb

    Прошу Помочь, c IP камеры(Поддерживаемые протоколы IPv4/v6, HTTP, UPnP, DNS, NTP, RTSP, DHCP, TCP, UDP, IGMP, RTCP, ICMP, ARP) из потока http получить снимок и сохранить в файл при нажатии сохранить документ.

    Нужна процедура.

    Если есть у кого опыт, прошу отзываться, поток в 1с получаем, нужно сохранить картинку.

    Reply
  93. SerG_121

    (38)(80)(99)(100)Появилась возможность менять видео формат(разрешение)! Файл для скачивания WebCamX2.rar.

    Reply
  94. piton66

    (68) yus12, Мне интересно. Скиньте пожалуйста.

    Reply
  95. Светлый ум

    (34) автор большое тебе спасибо, за пример WIA отдельно — очень помогло!

    +1

    Reply
  96. Светлый ум

    (130) Светлый ум, архив с компонентами: WIAAutSDK.zip

    https://yadi.sk/d/t9VwgcczJdm9h

    Reply
  97. ADSLIgor

    Здравствуйте.

    В windows 7 не хочет работать, библиотека регистрируется, но при вызове обработки пишет «{ВнешняяОбработка.CamX.Форма.Форма.Форма(3)}: Метод объекта не обнаружен (GetCountDivice)

    Кол=ЭлементыФормы.WebCam.GetCountDivice();»

    Такое ощущение, что не хватает какого-то драйвера, кто-нибудь встречался с таким?

    Reply
  98. protexprotex

    (91) Можно. Как раз такую готовлю штуку

    Reply
  99. protexprotex

    (93) Если еще интересно, то вот — https://infostart.ru/public/715497/

    Reply

Leave a Comment

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