Загрузить картинку из WIA ImageFile? - PullRequest
2 голосов
/ 20 июня 2011

Я принял плохо спроектированный проект от коллеги и ищу загрузить графическое окно непосредственно из команды WIA, которая только что завершила, чтобы сделать снимок с подключенной USB-камеры.

Текущая реализация ожидает, пока файл не будет записан на диск, затем отображает его оттуда, вероятно, перечитывание файла с диска.

Item item = d.ExecuteCommand(WIA.CommandID.wiaCommandTakePicture);

WIA.ImageFile imagefile = item.Transfer(FormatID.wiaFormatJPEG) as WIA.ImageFile;

Я безуспешно пытался наложить изображение на заданную графическую рамку

picBox.Image = (Image)imageFile;

1 Ответ

9 голосов
/ 27 июня 2011

WIA.ImageFile - это оболочка COM-объекта, а не System.Drawing.Image.

Вам придется связываться с методом WIA.ImageFile Save с временными файлами или попробовать решение в памяти, как показано здесь: http://www.pcreview.co.uk/forums/wia-imagefile-system-drawing-image-t2321026.html

var imageBytes = (byte[])image.FileData.get_BinaryData(); 
var ms = new MemoryStream(imageBytes);
var img = Image.FromStream(ms);
...