Announcement

Collapse
No announcement yet.

Scannen unter WIA - Dateiformat?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Scannen unter WIA - Dateiformat?

    Hallo!

    Ich hab eine kleine Scanfunktion, die ich im WWW unter

    http://deunkel.blogspot.de/2010/04/i...windows-7.html

    gefunden habe, in meinem Programm eingebaut und es funktioniert bestens.

    Nur:
    Wie lege ich das Dateiformat fest, in dem das eingescannte Dokument gespeichert wird?
    Also: Wenn ich z.B. das Dokument im TIFF oder JPEG Format ablegen möchte, was muss ich noch einstellen?

    Hab leider keine weitere Info dazu gefunden.


    Danke und Gruß
    Marco

  • #2
    TIFF, JPG,GIF u.a. sind Speicherformate. Die haben nichts damit zu tun, wie ein Bild im Speicher dargestellt wird. Es gibt im Speicher bei der Darstellung eines Bildes kein JPG o.a. Insofern hat das auch erstmal nicht damit zu tun, wie ein Bild eingescannt wird. Wenn das Tool das eingescannte Bild nicht schon speicherfertig liefert, wird es ja wohl irgendwie anders zur Verfügung gestellt (bsp. als Bitmap). Das kannst du dann beliebig speichern.
    Christian

    Comment


    • #3
      danke für die sehr schnelle Antwort.

      Vielleicht hab ich mich nicht präzise genug ausgedrückt. Es geht mir um das Speicherformat.

      Hier nochmal der Code aus dem Link

      Code:
      Public Function scanImage() As String
      'Pfad zur Temp Datei des erfassten Bildes
      Dim strTempImagePath As String = String.Empty
      'Windows GUI zur Interaktion mit dem Gerät
      Dim wiaDialog As New WIA.CommonDialog
      'Variable für das erfasste Bild
      Dim wiaImage As WIA.ImageFile = Nothing
      Try
      'Aufruf der Windows GUI zur Interaktion mit dem Gerät,
      'rückgabe ist das erfasste Bild
      wiaImage = wiaDialog.ShowAcquireImage(WIA.WiaDeviceType.ScannerDeviceType, , , , False, )
      Catch ex As Exception
      MsgBox("Ein Fehler ist aufgetreten! Überprüfen Sie ob das Gerät Eingeschaltet und angeschlossen ist." & Environment.NewLine & Environment.NewLine & ex.Message)
      End Try
      If Not wiaImage Is Nothing Then
      'Einen zufälligen Tempdateinamen im Temp Verzeichniss erstellen
      strTempImagePath = System.IO.Path.Combine(System.IO.Path.GetTempPath, System.IO.Path.GetRandomFileName())
      
      'Bild in Temporere Datei Speichern
      wiaImage.SaveFile(strTempImagePath)
      Else
      MsgBox("Es wurde kein Bild erfasst!", MsgBoxStyle.Information, "Information")
      End If
      Return strTempImagePath
      End Function
      Dabei möchte ich statt des zufälligen Dateinamens einen eigenen Dateinamen UND das Speicherformat mitgeben, also statt

      Code:
      strTempImagePath = System.IO.Path.Combine(System.IO.Path.GetTempPath, System.IO.Path.GetRandomFileName())
      etwas wie
      Code:
      strTempImagePath = "C:\tmp\myscan." '+die Endung, in der es abgespeichert wird, also z.B: JPG

      Comment


      • #4
        http://msdn.microsoft.com/de-de/libr...vs.100%29.aspx

        Siehe Beispiele dort...

        Das heisst aber noch nicht, dass das dann auch als JPG o.a. gespeichert wird....ggf. lies die Eigenschaft FileExtension aus um zu sehen, als was das gespeichert wird. Bloß weil im Datein eine JPF oder GIF steht wird das wohl noch nicht in dem Format gespeichert. Als was wird es den im Normalfall gespeichert?
        Zuletzt editiert von Christian Marquardt; 03.10.2013, 11:18.
        Christian

        Comment

        Working...
        X