我从同事那里接手了一个设计不佳的项目,我希望直接从刚刚完成的 WIA 命令加载图片框,以从连接的 USB 相机拍摄照片。
当前的实现等到文件被写入磁盘,然后可能从那里显示它 从磁盘重新读取文件。
Item item = d.ExecuteCommand(WIA.CommandID.wiaCommandTakePicture);
WIA.ImageFile imagefile = item.Transfer(FormatID.wiaFormatJPEG) as WIA.ImageFile;
我尝试将图像转换到给定的图片框但没有成功
picBox.Image = (Image)imageFile;
最佳答案
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);
关于c# - 从 WIA 图像文件加载图片框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413267/