c# - 从 WIA 图像文件加载图片框?

标签 c# .net picturebox wia

我从同事那里接手了一个设计不佳的项目,我希望直接从刚刚完成的 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/

相关文章:

c# - 在 Excel VSTO 中,如何检查工作表是否属于已关闭的工作簿?

c# - Asp.net mvc web.config 和 web.debug.config 区别

c# - 运行 Windows 服务时出现 FileNotFoundException

c# - 如何处理 SelectMany 语句中异步方法的异常

asp.net - 检测同时访问的唯一用户

c# - PictureBox 中的颜色被洗掉

c# - 没有图像列表的 ListView ?

c++ - 如何使用 MFC 应用程序 (C++ Visual Studio 2010) 中的按钮更改图像的可见属性?

c# - 如何通过单击超链接打开文件

c# - 您使用什么工具和技术来查找死代码?