Der Code dieser Seite ist nicht gestartet.

Wird index.html direkt aus einem Ordner geöffnet, blockiert der Browser JavaScript-Module, und wenn Sie ein GIF auswählen, passiert nichts. Stellen Sie den Ordner stattdessen über HTTP bereit:

powershell -ExecutionPolicy Bypass -File serve.ps1

Öffnen Sie dann http://localhost:8080/.

GIF zerlegen — jedes Einzelbild als eigenes PNG

Jedes Einzelbild einzeln als PNG heraus.

Sprache: Deutsch
Quellcode ansehen
Ihre GIFs werden in Ihrem Browser verarbeitet. Kein Upload zur Verarbeitung.

Das GIF wird von Ihrem eigenen Browser gelesen, entpackt und gezeichnet, und jedes PNG entsteht im Arbeitsspeicher dieses Geräts. Am anderen Ende dieser Seite steht gar kein Server, an den eine Animation gehen könnte, selbst wenn hier irgendetwas das wollte.

Live-Prüfung: wird geprüft…

Offline: wird geprüft…

Sie müssen uns nicht glauben. Öffnen Sie die DevTools, sehen Sie im Tab „Netzwerk“ zu und zerlegen Sie ein GIF. Keine einzige Anfrage trägt ein Bild, ein Einzelbild oder einen Dateinamen. Oder trennen Sie die Internetverbindung und zerlegen Sie trotzdem eines.

1 Ein GIF auswählen

2 Wie die Einzelbilder herauskommen

Behalten: jedes Statt aller nur jedes zweite oder fünfte Einzelbild nehmen, für eine Übersichtstafel oder eine lange Aufnahme.

Zeitliste Wie lange jedes Einzelbild stand und wo es saß. Ein Ordner voller PNGs kann das von sich aus nicht mitbringen.

Einzelbild

3 Die Einzelbilder

Als Markdown ansehen

So zerlegen Sie ein GIF in seine Einzelbilder

  1. Wählen Sie das GIF aus. Ziehen Sie es auf das Auswahlfeld oder suchen Sie es von Hand heraus. Der Browser liest es direkt von Ihrer Festplatte, und die Seite sagt Ihnen, was sie gefunden hat: die Größe, die Zahl der Einzelbilder, die Spieldauer und wie oft die Animation wiederholt.
  2. Entscheiden Sie, was in jedem PNG stehen soll. Das Einzelbild, wie es erscheint ist das, was fast alle wollen, also das ganze Bild in diesem Moment der Animation. Nur die Pixel, die dieses Einzelbild speichert ist der Flicken, den die Datei tatsächlich enthält, in seiner eigenen Größe und an seiner eigenen Stelle. So bleibt ein GIF klein, und so sieht die Animation gerade nicht aus.
  3. Entscheiden Sie, was mit der Transparenz passiert. PNG behält sie, und das ist die ehrliche Voreinstellung. Füllen Sie sie stattdessen mit einer Farbe, wenn die Einzelbilder irgendwo landen, wo Transparenz ignoriert und daraus sonst Schwarz wird.
  4. Suchen Sie sich die Einzelbilder aus. Voreingestellt sind alle. „Jedes zweite Einzelbild behalten“ dünnt eine lange Aufnahme aus, und die Häkchen im Raster übersteuern das. An der Nummerierung ändert sich dabei nie etwas, Einzelbild 42 heißt also weiter Einzelbild 42, wie wenige seiner Nachbarn Sie auch behalten haben.
  5. Laden Sie sie herunter. Einzeln aus dem Raster oder alle zusammen als ein ZIP, damit es eine Speicherabfrage gibt statt hunderter. Das ZIP kann eine frames.txt mitbringen, in der steht, wie lange jedes Einzelbild stand. Das ist das eine, was ein Ordner voller PNGs von sich aus nicht sagen kann.

Die ausführliche Fassung

Ein GIF in Einzelbilder zerlegen Jedes Bild eines animierten GIFs als PNG: warum manche Bilder nur ein kleiner Ausschnitt sind, was mit der Transparenz passiert und wie Sie die Zeiten behalten, um die Animation wieder zusammenzusetzen.

Fragen

Wird mein GIF irgendwohin hochgeladen?

Nein. Ihr eigener Browser liest, entpackt und zeichnet die Datei auf Ihrer eigenen Hardware, und jedes PNG entsteht hier im Arbeitsspeicher. Eine Serverseite hat dieses Werkzeug nicht, und in der Content-Security-Policy der Seite steht jede Adresse, die sie kontaktieren darf; keine davon gehört uns. Trennen Sie die Netzverbindung, und es zerlegt weiter GIFs.

Warum sieht ein Einzelbild aus wie ein kleiner Ausschnitt?

Weil genau das in der Datei steht. Ein GIF ist ein erstes Bild und danach lauter Flicken: Jedes spätere Einzelbild speichert nur das Rechteck, das sich geändert hat, und alles andere auf dem Schirm ist das, was die vorherigen dort hinterlassen haben. Ein sprechender Kopf vor einer ruhigen Wand speichert deshalb ein Gesicht pro Einzelbild statt eines ganzen Bildes, und nur darum ist das Format nicht riesig.

Zu sehen bekommen Sie das, weil „Nur die Pixel, die dieses Einzelbild speichert“ ausgewählt ist. Stellen Sie auf „Das Einzelbild, wie es erscheint“ um, und jedes PNG ist das ganze Bild, so wie die Animation in diesem Moment aussieht.

Bleibt die Transparenz erhalten?

Ja. GIF-Transparenz ist ein einziges Bit, ein Pixel ist also entweder gemalt oder unsichtbar und dazwischen gibt es nichts, und PNG speichert genau das. Die Einzelbilder kommen also mit unversehrten transparenten Flächen heraus. Wenn Ihnen ein deckender Hintergrund lieber ist, stellen Sie „Transparente Flächen“ auf eine Farbe. Die wird ins PNG geschrieben und lässt sich hinterher nicht wieder herausnehmen.

Warum sind die Anzeigedauern nicht die Zahlen, die ich erwartet habe?

Ein GIF speichert jede Dauer in Hundertstelsekunden, und Browser heben alles unter zwei davon seit den Neunzigern auf eine Zehntelsekunde an. Diese Regel wurde für die rotierenden Globen jener Zeit geschrieben und nie wieder entfernt. Ein Einzelbild, in dessen Datei 0,01 s steht, läuft deshalb überall mit 0,10 s. Dieses Werkzeug zeigt die Dauer so an, wie sie wirklich abgespielt wird, und schreibt daneben, was in der Datei steht, sobald beides auseinandergeht.

Kann ich die Einzelbilder wieder zusammensetzen?

Ja, mit dem GIF-Ersteller auf dieser Seite oder mit allem anderen, was einen Ordner voller Bilder annimmt. Genau dafür ist die frames.txt im ZIP da: Beim Zerlegen geht das Timing verloren, weil ein PNG nirgends festhalten kann, wie lange es stand, also trägt die Liste die Dauer und die Position jedes Einzelbildes mit hinaus.

In welchen Formaten lassen sich die Einzelbilder speichern?

In PNG, und mit Absicht nur in PNG. Ein GIF-Einzelbild hat höchstens 256 Farben und ein Bit Transparenz. PNG speichert das exakt und verlustfrei, während JPEG die Transparenz wegwerfen, Farben erfinden würde, die das Einzelbild nie hatte, und aus flächiger Grafik meist eine größere Datei macht. Wenn Sie JPEGs brauchen, wandeln Sie die PNGs hinterher mit der Bildgrößenänderung um.

Gibt es eine Grenze, wie viele Einzelbilder gelesen werden?

Das Werkzeug verwendet eine Planungsschätzung von 512 MiB für Quellpuffer, gespeicherte Bildteile, Vorschauen und Ausgabe und stoppt vor mehr als 128 Mi dekodierten Pixeln. Ein kleiner gespeicherter Bildteil verkleinert die Puffer des vollständigen Quellbildes nicht. Unsichere Pläne werden vor dem Zeichnen abgelehnt; gelesene Teilresultate stehen nur bereit, wenn ihr Pufferplan passt. Bögen und gesammelte PNGs zählen ebenfalls. Interne Browser-Zuweisungen, JS-Objekte und Canvas-Grenzen können mehr benötigen oder früher ablehnen. Das misst keinen freien Speicher und garantiert nicht, dass er ausreicht.

Öffnet es auch ein beschädigtes GIF?

Oft. Vollständige Bilder bleiben bei abgeschnittenen Dateien und fehlenden Endmarkierungen erhalten. In einem unvollständigen Bild verwenden fehlende Bereiche die erste Palettenfarbe, sofern sie nicht transparent markiert ist; die Seite weist darauf hin. Dateien ohne lesbare Bilder und unsichere Pufferpläne werden abgelehnt.

Ist es kostenlos, und brauche ich ein Konto?

Es ist kostenlos, und es gibt kein Konto, keine Anmeldung und keine Testphase. Auf den Einzelbildern liegt auch kein Wasserzeichen. Bezahlt wird die Seite über Werbung, und den Anzeigen wird nichts über Ihre Dateien übergeben.

Funktioniert es offline?

Ja. Laden Sie die Seite einmal, trennen Sie dann die Internetverbindung, und sie arbeitet weiter. Das ist zugleich der einfachste Beweis dafür, dass nichts hochgeladen wird. Ein Werkzeug, das Ihre Animation zum Verarbeiten wegschickt, bliebe in dem Moment stehen, in dem Sie den Stecker ziehen.