Kann ich ein animiertes GIF mit mehr als 256 Farben pro Frame haben?


31

Kann ich ein animiertes GIF mit mehr als 256 Farben pro Frame haben? Ich möchte ein animiertes GIF machen, aber die begrenzte Farbpalette lässt es wie Müll aussehen.

Antworten:


42

Ja, mit gewissen Einschränkungen.

Regenbogen aus Kisten

GIF unterstützt (lokale) Einzelbildpaletten und verfügt über eine "Ist" -Rahmenentsorgungsmethode, mit der mehrere Rahmen kombiniert werden können.

Ich habe [einen GIF-Encoder " gifski " mit dieser Technik] geschrieben. Es werden Animationen mit ca. 1000-3000 Farben pro Frame erstellt.

Der Haken ist, dass Sie dies nur nutzen können, wenn sich nicht alle Pixel des Bildes zwischen Frames ändern. Wenn sich also etwas vor einem Standbildhintergrund bewegt, können Sie mehr als 256 Farben animieren. Das sich bewegende Objekt ist auf 256 Farben beschränkt, der Hintergrund kann jedoch aus mehreren Frames mit unterschiedlichen Paletten bestehen. Mit cleverem Dithering ist es sogar möglich, einige Pixel von sich bewegenden Objekten wiederzuverwenden .


Meinen Sie damit, dass nur animierte Bilder mehr als 256 Farben haben können? Ist es überhaupt möglich, ein statisches Bild mit mehr als 256 Farben anzuzeigen ?
Pacerier

4
@Pacerier Dies funktioniert nur für Animationen. Theoretisch wäre es für ein statisches GIF möglich, aber aufgrund von Legacy- / Bugs-Browsern wird die 0Frame-Verzögerung als ~ 1/16 Sekunde interpretiert , sodass Sie bestenfalls eine Animation haben können, die ein statisches Bild erstellt. Für statische sind Sie mit PNG / JPG sowieso besser dran.
Kornel

3
Yea gif scheint im Bereich der statischen Bilder nicht einmal einen einzigen Vorteil zu haben.
Pacerier

2
@ GeorgeEdison Sie könnten, aber GIF hat schrecklich schwache Komprimierung, so wäre es in jeder Hinsicht schlimmer als nur mit PNG oder etwas anderem.
Kornel

1
@ g491 Gifsicle kann Dateien wie folgt erstellen (verwenden Sie mehrere Gifs mit Transparenz und Entsorgung = Keep-Modus)
Kornel

5

Nein, das kannst du nicht. Das GIF-Format erlaubt nur 256 Farben.


3
Pro Bild. Bevor Sie auf praktische Probleme eingehen, bin ich mir ziemlich sicher, dass Bing derzeit diese farbechten GIFs verwendet.
John Chadwick

1
Ich sehe 32697 Farben auf diesem GIF : phil.ipal.org/tc.html und auch goo.gl/DBdg1o
Pacerier

3

Theoretisch können Sie zumindest GIFs stapeln und die zusätzlichen Farben transparent machen.

  1. Zuerst kopieren Sie jeden Frame, sodass Sie jeweils zwei haben.
  2. Wählen Sie dann den Farbbereich mit einer Empfindlichkeit aus, die so niedrig ist, dass die Hälfte des Bildes ausgewählt wird.
  3. Löschen Sie dann einfach alles in der Auswahl.
  4. Kehren Sie nun die Auswahl um.
  5. Gehen Sie dann zum nächsten Bild und löschen Sie alles erneut.
  6. Speichern Sie das Endergebnis ( raw-ani.gif).
  7. Löschen Sie die Hälfte der Frames.
  8. Speichern Sie mit einem neuen Dateinamen ( ani1.gif).
  9. Laden Sie die zuvor gespeicherte Version.
  10. Löschen Sie die andere Hälfte der Frames.
  11. Speichern Sie erneut ( ani2.gif).

Hacken Sie HTML mit absoluter Positionierung und setzen Sie es ani2.gifauf ani1.gif.

Wiederholen Sie den Vorgang, um vier, acht, 16 Schichten oder das zu erstellen, was Sie möchten.

Sie könnten auch das raw-ani.gifErgebnis beschleunigen und das haben, was Kornel beschrieben hat.


2

Keine GIF-Dateien sind nicht auf 256 Farben beschränkt.


4
Der True-Color-GIF-Hack weist zwar einige wesentliche Einschränkungen auf: Er funktioniert nicht bei Bildbetrachtern, die keine Animation unterstützen (oder in Browsern, in denen der Benutzer die GIF-Animation deaktiviert hat). In einigen Fällen wird er möglicherweise sehr langsam gerendert Browser, die eine minimale Bildverzögerung erfordern und dazu neigen, große Dateien zu erzeugen, die schlecht komprimiert werden. Es ist ordentlich, aber in der realen Welt nicht sehr nützlich. Verwenden Sie einfach PNG, wenn Sie mehr als 256 Farben benötigen. (Leider MNG / APNG-Browser-Unterstützung ist wirklich fleckig.)
Ilmari Karonen

Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Mark Henderson

1

Es ist möglich, ein farbechtes GIF zu haben, und es sind verschiedene Artikel online, die jedoch nicht sehr praktisch sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.