Я использую WIALib для доступа к своей веб-камере.Код, который я разрабатываю, довольно прост: при нажатии кнопки делается снимок с веб-камеры, а затем отображается в графическом окне.
Я уже могу снимать с помощью своей веб-камеры, но это еще не такполностью автоматизирован.Единственный способ найти фотографии, снятые веб-камерой, заключается в следующем:
wiaPics = wiaRoot.GetItemsFromUI( WiaFlag.SingleImage, WiaIntent.ImageTypeColor ) as CollectionClass;
Но пользователь просит выбрать изображение.И я всегда хочу, чтобы последний снимок был сделан.Итак, я пытаюсь так:
string imageFileName = Path.GetTempFileName(); // create temporary file for image
wiaItem = wiaRoot.TakePicture(); // take a picture
Cursor.Current = Cursors.WaitCursor; // could take some time
this.Refresh();
wiaItem.Transfer(imageFileName, false); // transfer picture to our temporary file
pictureBox1.Image = Image.FromFile(imageFileName); // create Image instance from file
Marshal.ReleaseComObject(wiaItem);
Но метод TakePicture () возвращает ноль, и поэтому я не могу передать изображение.Самое странное, что картинка действительно была сделана после того, как был вызван метод TakePicture (), так как, если я подхожу к веб-камере вручную, изображение там!Я просто не понимаю, почему он не возвращает значение.
Подводя итог, мне нужно либо одно из двух: 1. Получить TakePicture () для работы, возвращая значение, которое я могу использовать.2. Получите автоматический доступ к списку снимков с веб-камеры, чтобы я мог получить последний сделанный снимок.
С уважением и благодарностью за помощь, Микаэль.