Dienstag, 2. April 2013

Visual Basic 2012 Excel 2013 Scanner programmieren Selzer-Mckenzie SelMcKenzie


Visual Basic 2012 Excel 2013 Scanner programmieren Selzer-Mckenzie SelMcKenzie

Author D.Selzer-McKenzie



 

 

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.