AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Animierte GIFs auflösen

Ein Thema von DBR · begonnen am 5. Mär 2022 · letzter Beitrag vom 6. Mär 2022
Antwort Antwort
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#1

Animierte GIFs auflösen

  Alt 5. Mär 2022, 16:57
Hallo Leute!

Ich möchte animierte Gifs als Einzelbilder speichern. Das gelingt mir auch soweit ganz gut. Aber wenn ein Gif APNG-Frames enthält, scheitere ich. Hat jemand eine Ahnung, wie ich vorgehen muss?

Danke im Voraus!
DBR
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Animierte GIFs auflösen

  Alt 6. Mär 2022, 01:16
Ein GIF mit APNG-Frames? Was?
Es gibt doch nur entweder GIF oder APNG.

Bei APNG kannst du durch die Chunks iterieren.
Der erste Chunk ist der IHDR-Chunk. Den solltest du aufbewahren. Ebenso PLTE falls vorhanden.
Dann iterierst du weiter durch die Datei. Für jeden Frame speicherst du aufeinanderfolgende IDAT und fdAT (aufeinanderfolgend, weil sie (unnötigerweise) in Blöcke aufgeteilt worden sein können) zusammen mit dem Header und den zuvor aufgebewahrten IHDR und PLTE ab. Bei fdAT musst du im IHDR die Breite und Höhe ersetzen, und vom fdAT die Sequenznummer überspringen. Die Breite und Höhe eines Frames findest du vom voransteheden fcTL-Chunk. Abschließend noch ein IEND-Chunk. Zudem musst du die Chunks-CRCs neu berechnen.

Beachte, dass APNGs keine vollen Frames speichern müssen und das oben beschriebene Vorgehen für volle Frames gedacht ist. Du kannst die vollen Frames selbst aus den wie oben beschrieben erstellten Einzelbildern erstellen. Es gibt verschiedene Zeichen- und Reset-Modi, die du dabei beachten musst, und die im fcTL-Chunk stehen. Du wirst mindestens einen Alpha-Blending-Algorithmus brauchen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz