Bueno, me di a la tarea de buscar como adquirir imágenes desde un Scanner por un requerimiento para realizar una aplicación para un cliente, después de mucho buscar y de ver varios ejemplos encontré como realizar lo Windows Incluye desde XP una forma de hacerlo por medio de un SDK y desde Vista y 7 ya viene con el sistema operativo mas información en :http://msdn.microsoft.com/en-us/library/windows/desktop/ms630368(v=vs.85).aspx
Para no hacerles el cuento largo la forma de hacerlo o cuando menos la que yo ejecute compile y corrí desde Windows 7 con un miltifuncional Epson es la siguiente:
- Importar al proyecto las librerias "Microsoft Windows Image Acquisition Libray v2.0" (WIA) de la seccion COM.
- Después cree una clase como se muestra a continuación:
- using System;
- using WIA;
- public class Scanner
- {
- Device oDevice;
- CommonDialog dlg;
- public Scanner()
- {
- dlg = new CommonDialog();
- oDevice = dlg.ShowSelectDevice(WiaDeviceType.ScannerDeviceType, true, false);
- }
- public System.Drawing.Image Scann()
- {
- ImageFile imageFile=dlg.ShowAcquireImage(oDevice.Type,
- WiaImageIntent.GrayscaleIntent,
- WiaImageBias.MinimizeSize,
- "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}", false, false, false);
- WIA.Vector vector = imageFile.FileData;
- System.Drawing.Image i = System.Drawing.Image.FromStream(new
- System.IO.MemoryStream((byte[])vector.get_BinaryData()));
- return i;
- }
- }
- Como se ve en el objetio principal es ShowAcquireImage() cuya descripcion esta completa se puede ver en: http://msdn.microsoft.com/en-us/library/windows/desktop/ms630772(v=vs.85).aspx, la cadena de caracteres extraños son los ID del tipo de codificacion de la Imagen los cuales se puede ver en la siguiente pagina:http://msdn.microsoft.com/en-us/library/windows/desktop/ms630810(v=vs.85).aspx
- Despues de la clase es muy sencillo solo se instancia el objeto y se
llama la Funcion Scann() que es la que inicializa todo lo de la clase y
regresa una elemento de tipo System.Drawing.Image
- Scanner oScanner = new Scanner();
- pictureBox1.Image = oScanner.Scann();
Saludos...
Excelente Amigo muchas gracias :D
ResponderEliminarbuen dia, saludos, disculpa puedes tu pasarme este proyecto completo del escanner, seria de gran ayuda y te lo agradeceria mucho....mi coreo:velenyer_1000@outlook.es
EliminarHey super amigo, Probado HP LaserJet 100 Color MFP M175a
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarVeo que es un código muy sencillo de implementar. Lo voy a validar en mi proyecto y les cuento, muchas gracias.
ResponderEliminarhttps://examplecodefree.blogspot.com/
La verdad la clase me fue demasiado util. ERES GENIAL
ResponderEliminarMuchas gracias