Visual Basic 2012 Excel 2013 Scanner programmieren
Selzer-Mckenzie SelMcKenzie
Author D.Selzer-McKenzie
Video: http://youtu.be/yvjKa0UojI0
Heute zeige ich Ihnen, wie Sie einen Scanner programmieren,
der alle Futures hat wie Schwarz-Weiss, Graustufen und Farbe. Ebenfalls als OCD
mit Texterkennung und auch als PDF.
Sehen Sie auf dem Video, ich habe hier die Funktionalität
des Scanners in zwei Beispielen dargestellt.
Der Source Code ist recht simple und ich geben ihn hier wie
auch auf der Textseite des Videos wieder und Sie können somit ganz flott einen
eigenen Scanner mit allen Futures programmieren.
Leider ist es nicht möglich, den Source Code auf der
Textseite des Videos zu schreiben, da er programmierbarte Steuerelemente
enthält und nicht angenommen werden. Deshalb sollten Sie sich das Video genau
ansehen, der Source Code ist dort
abgefilmt.
Hier nun der Originasl-Source-Code:
Private Sub ScannerButtonScanMitDialog_Click(sender As
Object, e As EventArgs) Handles ScannerButtonScanMitDialog.Click
Me.Refresh()
Zeichnen =
Me.CreateGraphics
Dim WIA_Dialog
As New WIA.CommonDialog()
Dim ScanBild
As WIA.ImageFile = Nothing
ScanBild =
WIA_Dialog.ShowAcquireImage(WIA.WiaDeviceType.ScannerDeviceType, WIA.WiaImageIntent.GrayscaleIntent,
WIA.WiaImageBias.MaximizeQuality, wiaFormatJPEG, False, False, False)
If ScanBild
IsNot Nothing Then
Dim vector
As WIA.Vector = ScanBild.FileData
ScannerBildEingescannt.Image = Image.FromStream(New
MemoryStream(CType(vector.BinaryData(), Byte())))
End If
Dim NeuBild As
New Bitmap(ScannerBildEingescannt.Image)
Zeichnen.DrawImage(NeuBild, 10, 50, 450, 530)
End Sub
Private Sub
ScannerButtonOhneDialog_Click(sender As Object, e As EventArgs) Handles
ScannerButtonScanOhneDialog.Click
X =
"Funktioniert nur, wenn der Modus (* SchwarzWeiss, Graustufe, Farbe *
eingestellt ist. "
X = X &
"Ebenfalls muss die Auflösung (*75,100,150,,200,300..600.7dpi* eingestellt
sein."
MsgBox(X)
Me.Refresh()
Zeichnen =
Me.CreateGraphics
Dim WIA_Dialog
As New WIA.CommonDialog()
Dim Scanner As
WIA.Device = WIA_Dialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType,
False, False)
Dim
dpi_Auflösung As Integer =
Convert.ToInt16(ScannerComboBoxAuflösung.SelectedItem)
Select Case
ScannerComboBoxFarbe.SelectedIndex
Case 0
Scanner.Items(1).Properties("Current Intent").Value = 4 ' 4 = SchwarzWeiss
Case 1
Scanner.Items(1).Properties("Current Intent").Value = 2 ' 2 =
Graustufe
Case Else
Scanner.Items(1).Properties("Current Intent").Value = 1 ' 1
= Color
End Select
Scanner.Items(1).Properties("Horizontal
Resolution").Value = dpi_Auflösung ' dots per inch/Horizontal
Scanner.Items(1).Properties("Vertical Resolution").Value =
dpi_Auflösung ' dots per inch/Vertikal
Scanner.Items(1).Properties("Horizontal Start Position").Value
= 0 ' x links oben
Scanner.Items(1).Properties("Vertical Start Position").Value =
0 ' y links oben
'Größe des
Scanbereichs (Inch * dpi):
'Scanner.Items(1).Properties("Horizontal Extent").Value = 8.5
* dpi // Breite = inch * dpi
'Scanner.Items(1).Properties("Vertical Extent").Value = 11 *
dpi // Höhe = inch * dpi
Dim ScanBild
As WIA.ImageFile = Scanner.Items(1).Transfer()
If ScanBild
IsNot Nothing Then
Dim vector
As WIA.Vector = ScanBild.FileData
ScannerBildEingescannt.Image = Image.FromStream(New
MemoryStream(CType(vector.BinaryData(), Byte())))
End If
Dim NeuBild As
New Bitmap(ScannerBildEingescannt.Image)
Zeichnen.DrawImage(NeuBild, 10, 50, 450, 530)
End Sub
Private Sub
ButtonScannerSpeichern_Click(sender As Object, e As EventArgs) Handles
ButtonScannerSpeichern.Click
Directory.CreateDirectory("c:\1")
ScannerBildEingescannt.Image.Save("c:\1\ScannerbildBild.png",
System.Drawing.Imaging.ImageFormat.Png)
MessageBox.Show("Scannerbild gespeichert unter
c:\1\Scannerbild.png", SEL)
End Sub
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.