Ich verwende WIA, um ein Bild von dem Scanner an das Windows-Formular zu erfassen. Hier ist der Code Ich verwende:Klasse kann nicht eingebettet werden. Verwenden Sie stattdessen die entsprechende Schnittstelle
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");
}
Beim Versuch, diesen kleinen Test auszuführen, erhalte ich diese Fehlermeldung:
Interop type 'WIA.CommonDialogClass' cannot be embedded. Use the applicable interface instead.
Und:
'WIA.CommonDialogClass' does not contain a definition for 'ShowAcquireImage' and no extension method 'ShowAcquireImage' accepting a first argument of type 'WIA.CommonDialogClass' could be found (are you missing a using directive or an assembly reference?
ich raten bin der zweite Fehler wird wegen des ersten Fehlers erhöht, oder?
Irgendwelche Vorschläge, wie Sie das beheben können?
Ich habe festgestellt, dass CommonDialogClass in .NET 3.5 funktioniert und das Problem, das auftritt, wurde in späteren Versionen eingeführt. –