BEISPIEL
Nur wenn es sich um einen Scanner handelt, wird der Dialog angezeigt:
If dev.Type = ScannerDeviceType Then
dlg.ShowAcquisitionWizard dev
Else
MsgBox "Kein Scanner vohanden!"
End If
End Sub
Wie Sie sehen, können Sie per Device.Type-Eigenschaft den Gerätetyp in Erfahrung bringen:
ScannerDeviceType Scanner, nur diese können Sie auch mit dem Scanner-Assistenten verwenden.
CameraDeviceType Digitale Kameras die per WIA eingebunden sind. Achtung, hier haben Sie es meist mit Verzeichnis-
strukturen zu tun!
VideoDeviceType WebCam etc.
UnspecifiedDeviceType Unbekannt, wird meist bei der Auswahl von Geräten angegeben, um alle Geräte abzufragen.
Tabelle 13.5 Mögliche Gerätetypen
Grafikbearbeitung
Neben dem reinen Import bietet sich WIA auchr die Bearbeitung von Bildern an. Nachdem diese in
einem ImageFile-Objekt vorliegen, können diese mit dem ImageProcess-Objekt verarbeitet werden. Dazu er-
stellen Sie zunächst eine Instanz des ImageProcess-Objekts und weisen per Filters.Add-Methode spezielle
Verarbeitungsfilter zu. Anschließend können Sie diese noch konfigurieren.
Konvertieren einer eingescannten Grafik (ins BMP-Format)
Dim img As wia.ImageFile
Dim proc As wia.ImageProcess
...
Bild einlesen:
Set img = dlg.ShowAcquireImage
Konverter erzeugen:
Set proc = New wia.ImageProcess
Filter zuweisen:
proc.Filters.Add proc.FilterInfos("Convert").FilterID
Filter konfiguireren
proc.Filters(1).Properties("FormatID").Value = wia.wiaFormatBMP
871
Scanner-Unterstützung per WIA
BEISPIEL
BEISPIEL
Kapitel 13: Programmschnittstellen
Filter anwenden:
Set img = proc.Apply(img)
ims.SaveFile ...
Exit Sub
Verfügbare Filter anzeigen
Private Sub Befehl16_Click()
Dim img As wia.ImageFile
Dim proc As wia.ImageProcess
Dim fil As wia.FilterInfo
Set proc = New wia.ImageProcess
For Each fil In proc.FilterInfos
Debug.Print fil.Name
Next
End Sub
Abbildung 13.31 Namen der verfügbaren Filter
Ein gescanntes Bild auf 50% seiner Größe skalieren
Dim img As wia.ImageFile
Dim proc As wia.ImageProcess
Set img = dlg.ShowAcquireImage
Set proc = New wia.ImageProcess
Filter erzeugen:
proc.Filters.Add proc.FilterInfos("Crop").FilterID
Filter parametrieren:
proc.Filters(1).Properties("Left") = img.Width \ 2
proc.Filters(1).Properties("Top") = img.Height \ 2
proc.Filters(1).Properties("Right") = img.Width \ 2
proc.Filters(1).Properties("Bottom") = img.Height \ 2
...
Natürlich können Sie mit den WIA-Objekten noch weit mehr anfangen, aber für einen ersten Einstieg dürf-
ten die bisherigen Ausführungen sicherlich genügen.
872

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.