none
Mehrseitiges Tif-Bitmap mit CCITT4-Komprimierung erstellen RRS feed

  • Frage

  • Hallo zusammen

    Ich habe ein Tif-Bitmap mit mehreren Seiten und einer LZW-Komprimierung.
    Nun möchte ich dieses Tif nach CCITT4 (Fax-Format) umwandeln.

    Hier ist mein Code:
      Dim myBitmap As Bitmap
      Dim myImageCodecInfo As ImageCodecInfo
      Dim Kompression As Encoder
      Dim Multi As Encoder
      Dim myEncoderParameter As EncoderParameter
      Dim myEncoderParameters As EncoderParameters

      myBitmap = New Bitmap("C:\Temp\Temp.tiff")

      Dim J As Integer
      Dim Encoders() As ImageCodecInfo
      Encoders = ImageCodecInfo.GetImageEncoders
      J = 0
      While J < Encoders.Length
       If Encoders(J).MimeType = "image/tiff" Then
        myImageCodecInfo = Encoders(J)
        Exit While
       End If
       J += 1
      End While

      Kompression = Encoder.Compression
      Multi = Encoder.SaveFlag
      myEncoderParameters = New EncoderParameters(2)
      myEncoderParameter = New EncoderParameter(Kompression, Fix(EncoderValue.CompressionCCITT4))
      myEncoderParameters.Param(0) = myEncoderParameter
      myEncoderParameter = New EncoderParameter(Multi, Fix(EncoderValue.MultiFrame))
      myEncoderParameters.Param(1) = myEncoderParameter
      myBitmap.Save("C:\Temp\Neu.tif", myImageCodecInfo, myEncoderParameters)

    Mein neues Bild hat jedoch immer nur eine Seite.
    Kann mir einer von Euch sagen wie ich das Bild so umwandeln kann, dass ich alle Seiten behalte?
    Vielen Dank

    Montag, 13. Februar 2017 15:36

Antworten

  • Hallo Thorsten

    Ich hatte mir schon viele Beispiele angeschaut, unter anderem auch das von Dir zitierte.
    Es ging aber eigentlich immer nur darum mehrere Bilder zu einem Tif zusammenzufassen. Da mein Ursprungsbild ja schon mehrere Seiten hat, dachte ich immer, dass mich das alles nichts angeht. Nun bin ich eines Besseren belehrt worden... Grins.

    Leider war der Telerik-Konverter keine wirklich grosse Hilfe bei der Übersetzung der Beispiele, aber mit einigen Versuchen (und Flüchen) habe ich es nun fertiggebracht.

    Vielen Dank für Deine Hilfe

    • Als Antwort markiert kurt suisse Donnerstag, 16. Februar 2017 15:26
    Mittwoch, 15. Februar 2017 12:57

Alle Antworten

  • [...]

      myBitmap.Save("C:\Temp\Neu.tif", myImageCodecInfo, myEncoderParameters)

    Mein neues Bild hat jedoch immer nur eine Seite.
    Kann mir einer von Euch sagen wie ich das Bild so umwandeln kann, dass ich alle Seiten behalte?
    Vielen Dank

    Hi,

    Du speicherst ja auch nur eine Seite, soweit ich das übersehe. Alle nachfolgenden Seiten kannst Du mittels SaveAdd speichern. Eventuell die Encoders wieder entsprechend vorbereiten. Leider ist Bob Powells seite nicht mehr "da", er hatte ein gutes Besipiel dazu. Aber hier findest Du es auch:

    http://stackoverflow.com/questions/398388/convert-bitmaps-to-one-multipage-tiff-image-in-net-2-0

    [Ist zwar c#, aber nur .net Funktionsaufrufe, somit dürfte es mittels Entfernen der ZeilenEnden ";" und der Konversion von eckigen in runde Klammern, sowie der VB-typischen Variablendeklarationen getan sein... Falls es Schwierigkeiten gibt, der telerik converter ist gut http://converter.telerik.com/ ]

    Viele Grüße,

      Thorsten



    Montag, 13. Februar 2017 22:41
  • Hallo Thorsten

    Ich hatte mir schon viele Beispiele angeschaut, unter anderem auch das von Dir zitierte.
    Es ging aber eigentlich immer nur darum mehrere Bilder zu einem Tif zusammenzufassen. Da mein Ursprungsbild ja schon mehrere Seiten hat, dachte ich immer, dass mich das alles nichts angeht. Nun bin ich eines Besseren belehrt worden... Grins.

    Leider war der Telerik-Konverter keine wirklich grosse Hilfe bei der Übersetzung der Beispiele, aber mit einigen Versuchen (und Flüchen) habe ich es nun fertiggebracht.

    Vielen Dank für Deine Hilfe

    • Als Antwort markiert kurt suisse Donnerstag, 16. Februar 2017 15:26
    Mittwoch, 15. Februar 2017 12:57