Estoy usando WIA para capturar una imagen del escáner en el formulario de Windows. Aquí está el código que estoy usando:La clase no se puede incrustar. Use la interfaz correspondiente en su lugar
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");
}
Al intentar ejecutar esta pequeña prueba, me sale este error:
Interop type 'WIA.CommonDialogClass' cannot be embedded. Use the applicable interface instead.
Y esto:
'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?
supongo el segundo error se está levantando debido al primer error, ¿verdad?
¿Alguna sugerencia sobre cómo solucionar esto?
He encontrado que CommonDialogClass funciona en .NET 3.5 y el problema que está experimentando se introdujo en versiones posteriores. –