2D-Grafik GIF Library mit byte output

Diskutiere GIF Library mit byte output im Allgemeine Java-Themen Forum; Hallo, ich suche noch eine (kleine) freie GIF-Library, die mir byte[] ausgibt und kein blödes BufferedImage. Genauso muss die Library bytes als...

  1. TheWhiteShadow
    TheWhiteShadow Mitglied
    Hallo,
    ich suche noch eine (kleine) freie GIF-Library, die mir byte[] ausgibt und kein blödes BufferedImage. Genauso muss die Library bytes als input annehmen.
     
  2. Wenn du jetzt Java lernen möchtest, dann sichere dir hier unseren Java-Videokurs heute zum Sonderpreis (hier klicken!)
  3. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Was ist denn für dich eine "GIF-Library"?

    Ein Gif in ein byte-Array Laden ist kein Problem, genauso wenig wie ein BufferedImage in ein byte-Array schreiben oder aus diesem lesen...
     
  4. TheWhiteShadow
    TheWhiteShadow Mitglied
    Eine Library, die Gif-bilder aus einer Datei laden kann und als byte[] zur verfügung stellt. bzw. auch umgekehrt. Ich hab mir schon das Teil aus dem imageIO angeguckt, aber das versaut die Pixel, wenn ich ihm nur das selbe Image wieder zu schreiben gebe. Ich hab das Gefühl, da stimmt was mit dem LZW-Kompressor nicht.
     
  5. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Also Datei->byte[]->Datei?

    Code (Java):

    byte[] fileContent = Files.readAllBytes(/*pfad...*/);

    Files.write(/*pfad...*/, fileContent);
     
    Ob das ein GIF ist, ist völlig egal, wenns eh nur um das byte[] geht...
     
  6. TheWhiteShadow
    TheWhiteShadow Mitglied
    Vielleicht hab ich mich unklar ausgedrückt. Ich will die Pixel-Daten als byte[] haben. Alles andere wäre ja auch total unsinnig. Und natürlich nicht um sie gleich wieder in eine Datei zu schreiben, sondern damit zu arbeiten und vielleicht hinterher wieder zu schreiben.
    Mein Vergleich soll nur verdeutlichen, dass mir die implementation von sun nicht reicht. Zum einen stört mich, dass sie nur ein BufferedImage zurück geben kann und darüber hinaus arbeitet der reader und der writer nicht symetrisch.
     
  7. httpdigest
    httpdigest Bekanntes Mitglied
  8. TheWhiteShadow
    TheWhiteShadow Mitglied
    Ja hab ich. Die haben die BufferedImage-Klasse stark in die Decoder-Funktion verstrickt.
     
  9. mihe7
    mihe7 Bekanntes Mitglied
  10. TheWhiteShadow
    TheWhiteShadow Mitglied
    Kann ich, ist aber aufwändig und ich habe gehofft, jemand kennt da eine flexiblere Library.

    möglicherweise, aber ich hab noch nicht durchgeblickt, wie das Formatiert ist. In dem Ding laufen ganz komische Sache ab.:confused:
     
  11. mihe7
    mihe7 Bekanntes Mitglied
    Was findest Du daran komisch?

    GIF verwendet indizierte Farben. Die Pixel werden daher als Paletten-Indizes repräsentiert, die komprimiert gespeichert werden. Der Decoder entpackt also zuerst die Paletten-Indizes der Pixel in das pixels-Array. Das pixel-Array ist zeilenweise aufgebaut, wobei zwischen Zeile im Array und Zeile im Bild nicht unbedingt eine 1:1-Abbildung stattfindet (interlaced GIFs).

    setPixels() sorgt nun einfach dafür, dass die RGB-Farben der Farbpalette in das das int-Array des DataBufers eines Bildes (BufferedImage) in der richtigen Reihenfolge (interlaced GIFs) übertragen werden. Außerdem berücksichtigt es den Umstand, dass in einem GIF mehrere Teilbilder enthalten sein können (animated GIFs).
     
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

GIF Library mit byte output - Ähnliche Themen

Java Byte Code Engineering Library (BCEL) Installation
Java Byte Code Engineering Library (BCEL) Installation im Forum IDEs und Tools
Framework/Library
Framework/Library im Forum Java Basics - Anfänger-Themen
Probleme beim einbinden von Zip4j library
Probleme beim einbinden von Zip4j library im Forum Allgemeine Java-Themen
Keycloak library wirft exceptions nach maven package
Keycloak library wirft exceptions nach maven package im Forum Allgemeine Java-Themen
Library in verschiedenen Projekten
Library in verschiedenen Projekten im Forum Allgemeine Java-Themen
Thema: GIF Library mit byte output