Konvertieren einer AVI-Datei in ein animiertes GIF mit transparentem Hintergrund

2

Ich habe einige AVI-Dateien, die ich in animierte GIFs mit transparentem Hintergrund konvertieren möchte, um sie in einem .NET-Windows-Formular zu platzieren. Ich kann von AVI zu animierten Gifs konvertieren, aber aus irgendeinem Grund ist der Hintergrund des animierten Gifs pink statt transparent. Gibt es eine einfache Möglichkeit, die rosa Farben aus der resultierenden animierten GIF-Datei zu entfernen? Ich habe ffmpeg ausprobiert, aber es hat auch die rosa Farbe erzeugt. Ich habe versucht, ffmpeg -i FINDFILE.avi FINDFILE.gif. Es wurde das animierte GIF erzeugt, aber die Hintergrundfarbe ist pink. Danke fürs Lesen.

Gregory Williams
quelle

Antworten:

0

Versuchen Sie, die Palette mit IrfanView oder einem anderen hochentwickelten Bildbearbeitungsprogramm zu bearbeiten. Irgendwo sollte es ein Kontrollkästchen für "transparenten Hintergrund" geben.

Wenn Sie kein Werkzeug finden, das funktioniert, müssen Sie möglicherweise tiefer graben und die Binärdatei bearbeiten. http://www.u229.no/stuff/gifformat/ erklärt das Datenformat: Der interessante Teil sind die Graphics Control Extensions, die den Transparent Color Index und die Transparent Color Flag in einem gepackten Feld enthalten.

Achtung: Jeder Frame kann einen eigenen GCE haben. Jeder Block beginnt jedoch mit einer Signatur von drei Bytes \x21\xf9\x04, sodass sie leicht aufgespürt werden können.

Das nächste Byte nach der Signatur ist das gepackte Feld. Bit 0 ist das Transparent Color Flag. Suchen Sie also \x00\x21\xf9\x04, ob der Wert des nächsten Bytes gerade ist: Addieren Sie eins (setzen Sie das Bit 0 in diesem Byte).

Speichern Sie die Datei, und der Hintergrund sollte in allen Frames transparent sein.

Oder ... habe es gerade gefunden ... sieh dir diesen Thread an: Wie erstelle ich einen transparenten Hintergrund für eine GIF-Animation?

Titus
quelle
Bitte fügen Sie die Liste in Ihre Antwort ein, anstatt sich auf eine externe Ressource zu verlassen.
Nic Hartley
Das funktioniert auch :)
Nic Hartley