Poste Italiane, sta per partire la rivoluzione: al lavoro anche nei giorni festivi
Il nuovo progetto di Poste Italiane punta a migliorare sensibilmente i suoi servizi e tra le novità che prenderanno il …
Il nuovo progetto di Poste Italiane punta a migliorare sensibilmente i suoi servizi e tra le novità che prenderanno il …
Se pensate che al giorno d’oggi i telefonini siano arrivati a prezzi esagerati, esclusivamente a causa della tecnologia che racchiudono …
Quando si prenotano le vacanze è davvero difficile riuscire a non cadere nelle truffe di alcune aziende, ma grazie a …
In questa parte finale del 2023 sul mercato delle auto si è abbattuto un vero e proprio uragano: la nuova …
Ormai è nota a tutti la fama da playboy di Claudio Amendola, ma nessuno si aspettava si riaccompagnasse così presto. …
Ormai manca davvero poco a Natale. La vera domanda è come ingannare l’attesa? Non c’è da preoccuparsi ci sono tanti …
Tra le varie cose nuove fatte ultimamente, ho dovuto anche scrivere un metodo che acquisisce le immagini da scanner. Per l’interfacciamento con uno scanner non professionale i metodi sono 2, o si utilizzano i driver TWAIN installati con lo scanner oppure utilizzare il componente Microsoft Windows Image Acquisition Library v2.0 (brevemente WIA). Il metodo più semplice e veloce è l’utilizzo di questo componente che di default dovrebbe essere installato in tutte le macchine Windows XP (ma lo trovate anche in altri sistemi operativi – io il test l’ho fatto su una macchina con Windows 7 a 64 bit), ma se no lo potete scaricare e registrare da questo LINK.
Una volta registrato il componente con il comando regsvr32 (ricordate che questo è un COM quindi non può essere utilizzato da programmi che girano con il target CPU a x64), potete referenziarlo sul vostro progetto sotto la scheda COM (Vedi immagine sotto):
Una volta referenziato potete importarlo nel progetto scrivendo:
Using WIA;
Il metodo di acquisizione vuole in ingresso delle costanti per specificargli il formato del file in uscita, e le possibilità sono:
Adesso andiamo a scrivere al inizio della nostra classe le 5 costanti:
const string WIABMP = “{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}“;
const string WIAPNG = “{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}“;
const string WIAGIF = “{B96B3CB0-0728-11D3-9D7B-0000F81EF32E}“;
const string WIAJPEG = “{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}“;
const string WIATIFF = “{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}“;
Nella vostra funzione di Scansione mi immagino che in input vorrete il formato del immagine scansionata ed il path completo del file da salvare, quindi andiamo a sviluppare il codice per l’acquisizione delle immagini da scanner:
ImageFile image = null;
WIA.CommonDialog dialog = new WIA.CommonDialog();
switch (OutFormat.ToUpper())
{
case “PNG”:
image = dialog.ShowAcquireImage(WiaDeviceType.ScannerDeviceType,WiaImageIntent.ColorIntent,WiaImageBias.MinimizeSize, WIAPNG , false, true,false);
break;
case “GIF”:
image = dialog.ShowAcquireImage(WiaDeviceType.ScannerDeviceType,WiaImageIntent.ColorIntent,WiaImageBias.MinimizeSize, WIAGIF , false, true,false);
break;
case “JPEG”:
image = dialog.ShowAcquireImage(WiaDeviceType.ScannerDeviceType,WiaImageIntent.ColorIntent,WiaImageBias.MinimizeSize, WIAJPEG , false, true,false);
break;
case “BMP”:
image = dialog.ShowAcquireImage(WiaDeviceType.ScannerDeviceType,WiaImageIntent.ColorIntent,WiaImageBias.MinimizeSize, WIABMP, false, true,false);
break;
case “TIFF”:
image = dialog.ShowAcquireImage(WiaDeviceType.ScannerDeviceType,WiaImageIntent.ColorIntent,WiaImageBias.MinimizeSize, WIATIFF , false, true,false);
break;
}
image.SaveFile(OutFile);
I parametri del metodo ShowAcquireImage sono:
Questo metodo ritorna un tipo ImageFile che può essere utilizzato per salvare poi il file sul disco tramite il metodo SaveFile.
Direi che questo è tutto. Diciamo che questo è un modo molto semplice e veloce per acquisire le immagini da Scanner. Che ne pensate?
© 2024 G Tech Group S.R.L.S. – Via di Gagia 22, 38086 Giustino (TN) – P.IVA 02743570224 – REA TN – 246638 – SDI SZLUBAI -PEC gtechgroupsrls@postacert.eu