【发布时间】:2011-05-12 07:13:13
【问题描述】:
我正在使用 WIA 将图像从扫描仪捕获到 Windows 窗体。这是我正在使用的代码:
private void button2_Click(object sender, EventArgs e)
{
const string wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}";
CommonDialogClass wiaDiag = new CommonDialogClass();
WIA.ImageFile wiaImage = null;
wiaImage = wiaDiag.ShowAcquireImage(
WiaDeviceType.UnspecifiedDeviceType,
WiaImageIntent.GrayscaleIntent,
WiaImageBias.MaximizeQuality,
wiaFormatJPEG, true, true, false);
WIA.Vector vector = wiaImage.FileData;
Image i = Image.FromStream(new MemoryStream((byte[])vector.get_BinaryData()));
i.Save(@"D:\prueba1.jpeg");
}
在尝试运行这个小测试时,我收到了这个错误:
互操作类型'WIA.CommonDialogClass' 不能嵌入。使用适用的 界面。
还有这个:
'WIA.CommonDialogClass' 没有 包含一个定义 'ShowAcquireImage' 并且没有扩展名 方法“ShowAcquireImage”接受 类型的第一个参数 可以找到“WIA.CommonDialogClass” (您是否缺少 using 指令或 程序集参考?
我猜第二个错误是因为第一个错误而上升的,对吧?
关于如何解决此问题的任何建议?
【问题讨论】:
-
我发现 CommonDialogClass 在 .NET 3.5 中工作,而您遇到的问题是在以后的版本中引入的。