I .NET og Windows er der noget der hedder WIA (Windows Image Acquisition). Dette kan bruges til at skanne og tage billeder i .NET.
For at bruge WIA skal du lave et projekt i Visual studio og lave en reference til "Microsoft Windows Image Acquisition Library 2.0" under COM fanen.
Opsætning
For at skanne skal man først vælge en skanner. Dette gøres ved at kalde "ShowSelectDevice".
WIA.CommonDialog commonDialog = new WIA.CommonDialog();
WIA.Device d = commonDialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, true, false);
Skanning
Nu kan man så skanne et billede via metoden "ShowAcquireImage".
WIA.ImageFile img = commonDialog.ShowAcquireImage(d.Type,
WIA.WiaImageIntent.ColorIntent,
WIA.WiaImageBias.MaximizeQuality,
"{00000000-0000-0000-0000-000000000000}",
false, false, false);
Herefter har man billedet som "ImageFile" der er et BMP billede. Billedet kan gemmes ved at kalde "SaveFile".
Demo
Her er der en demo at skanningen. Det er lavet i Visual Studio 2010 og kræver .NET 4.0.
Demo program Wia_Scanner_Test.exe (11,00 kb)
Kilde kode SkannerDemo.rar (8,87 kb)
Fuldt kode eksempel
WIA.CommonDialog commonDialog = new WIA.CommonDialog();
WIA.Device d = commonDialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, true, false);
WIA.ImageFile img = commonDialog.ShowAcquireImage(d.Type,
WIA.WiaImageIntent.ColorIntent,
WIA.WiaImageBias.MaximizeQuality,
"{00000000-0000-0000-0000-000000000000}",
false, false, false);
string filnavn = "billede_"+Guid.NewGuid().ToString()+".bmp";
img.SaveFile(filnavn);
MessageBox.Show("Billedet er gemt som " + filnavn);
Links
Windows Image Acquisition - Wikipedia - http://en.wikipedia.org/wiki/Windows_Image_Acquisition
Windows Image Acquisition - MSDN - http://msdn.microsoft.com/en-us/library/ms630368(VS.85).aspx
WIA Scripting and .NET - Codeproject - http://www.codeproject.com/KB/dotnet/wiascriptingdotnet.aspx?msg=1773875
Look at me! Windows Image Acquisition - Scott Hanselman - http://blogs.msdn.com/coding4fun/archive/2006/10/31/912546.aspx