Hintergründe von animierten GIF-Dateien transparent machen


13

Ich habe mit GIMP animierte GIF-Dateien aus mehreren Frames im PNG-Format erstellt, die ich mit Jmol erstellt habe, und möchte nun wissen, wie der Hintergrund der resultierenden GIF-Dateien transparent gemacht werden kann. Jede Software oder Website, die Sie vorschlagen, sollte kostenlos verfügbar sein.


Hast du einige Anstrengungen unternommen? Sehen Sie hier und da .
Paolo Gibellini

Ich habe das schon einmal gemacht, aber das ist ungeeignet, wenn man sieht, wie dieses GIF animiert und nicht statisch ist, da diese Methoden nur für statische Bilder hilfreich sind. Um zu tun, was Sie vorschlagen, indem Sie mir diese beiden Fragen zeigen, müsste ich jede der PNG-Dateien, die ich in das GIF konvertiere, einzeln transparent machen und sehen, wie ich 60 Bilder pro GIF verwende, was manchmal dauern würde, insbesondere wie Meiner Erfahrung nach dauert jedes Bild mindestens 5 Minuten, da Color Alpha nicht perfekt ist und ein wenig Fummeln erfordert, um zu arbeiten.
BH2017,

1
Ich kenne Jmol nicht, aber hier ist ein Thema im Zusammenhang mit dem Alpha-Hintergrund (siehe auch hier ). Hast du die Frames als PNGT exportiert ?
Paolo Gibellini

GIMP kann bereits transparente GIFs erstellen.
Billy Kerr

Antworten:


16

Sie können dies mit GIFsicle mit den folgenden Optionen tun :

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif

wo anim.gifund anim_trans.gifsind die Quell- und Zieldateinamen und #ffffffist der Hex - Code von der gewünschten Farbe transparent (hier reinweiß) zu machen.

(Die wichtigsten Optionen hier sind -U/ --unoptimizeund --disposal=previous, die die Animation zusammen in den "Daumenkino-Modus" konvertieren, in dem jedes Bild vollständig gelöscht wird, bevor das nächste gezeichnet wird. Auf diese Weise können die Bilder mit zusätzlicher Transparenz versehen werden, ohne dass die vorherigen Bilder durch das angezeigt werden transparente Teile: -O2Diese Option ist nicht unbedingt erforderlich, kann jedoch die Dateigröße der resultierenden Animation verringern, indem die Frames optimiert werden, um zu vermeiden, dass statische Teile der Animation unnötig neu gezeichnet werden.)

Zur Demonstration sehen Sie hier eine Animation des humanen Glyoxalase I (GLO1) -Enzyms aus Wikimedia Commons (links) und dieselbe Animation mit Transparenz, die mit der oben gezeigten Methode hinzugefügt wurde (rechts):

Originalanimation mit weißem Hintergrund Geänderte Animation mit transparentem Hintergrund
Originalanimation von Wikimedia Commons-Benutzer WillowW , verwendet unter der CC-By 3.0- Lizenz.

Ein erwähnenswertes Detail ist, dass, wenn der GIFsicle-Befehl keine Wirkung zu haben scheint, Sie überprüfen sollten, ob die Hintergrundfarbe wirklich korrekt ist. Beispielsweise stellte sich für die oben gezeigte Animation heraus, dass die tatsächliche Hintergrundfarbe eher #fdfffc(dh sehr leicht gelb-grünlich weiß) als #ffffff(rein weiß) war. Man kann den Unterschied nicht wirklich mit den Augen erkennen (oder zumindest kann ich das auf diesem Bildschirm nicht tun), aber es ist genug, um GIFsicle zu veranlassen, die beiden Farben als unterschiedlich zu betrachten.

Beachten Sie auch, dass GIF-Dateien nur 1-Bit-Transparenz unterstützen, was bedeutet, dass die Kanten der transparenten Bereiche nicht geglättet werden. Dies ist in Ordnung, solange der Hintergrund, auf dem Sie die Animation anzeigen, nicht zu weit von der ursprünglichen Hintergrundfarbe entfernt ist. In diesem Fall kann es jedoch zu unschönen Farbsäumen an den Rändern der Animation kommen. Leider können Sie nicht viel dagegen tun, außer einen passenderen Hintergrund zu wählen oder die Animation neu zu rendern.


Haben Sie eine Windows 7-freundliche Software-Alternative zu Gifsicle, die ich stattdessen verwenden könnte? Ich habe versucht, die Win32- und 64-Binärdateien zu installieren (ich verwende 64-Bit-Windows 7 über den Link auf der offiziellen Website von gifsicle), und beide haben nicht funktioniert. Es wurde nur für eine Sekunde eine Eingabeaufforderung angezeigt, und dann wurde diese geschlossen. Ich habe seitdem die Eingabeaufforderung geöffnet (wie ich verstehe, ist Gifsicle ein befehlszeilenbasierter Editor) und Ihre Befehle kopiert (mit den tatsächlichen Dateinamen ofc) und eine Nulldatei mit der Warnung ausgegeben, dass Gifsicle nicht erkannt wurde auf meinem System.
BH2017

Hmm ... haben Sie versucht, die Eingabeaufforderung zu verwenden und den vollständigen Pfad zur Datei gifsicle.exe anzugeben? Oder gehen Sie cdzu dem Ordner, in den Sie gifsicle installiert haben, und führen Sie den Befehl von dort aus aus? Oder diesen Ordner zu Ihrem hinzufügen%PATH% ?
Ilmari Karonen

cd-das Ausführen dieses Befehls im Verzeichnis hat problemlos funktioniert, daher werde ich Ihre Antwort akzeptieren.
BH2017

1

Versuchen Sie es unter http://www.gifmagic.com

Es ist sehr leicht.

Wählen Sie: 1) Bearbeiten

2) Transparenz

3) addiere und

4) Wählen Sie den Bereich aus, den Sie anwenden möchten.


1

Ähnlich wie GIFsicle und GIFmagic ist EzGIF ein Online-Satz von GIF-Werkzeugen, mit denen Sie (unter anderem) Folgendes tun können:

  1. Wähle "Effekte"
  2. Lade das GIF hoch
  3. Verwenden Sie dann das Feld "Farbe durch Transparenz ersetzen"
  4. und bewerben

(Sie können das Ergebnis dann auch optimieren, wenn Sie möchten.)


0

Wenn Sie imagemagick haben, können Sie den Befehl convert input.gif -transparent white output.gifin einem Terminal ausführen .


Können Sie erklären, was dieser Befehl bewirkt? Wir suchen längere Antworten mit einer Erklärung, keine Einzeiler. Außerdem sieht es so aus, als würde die Farbe Weiß in Transparent umgewandelt. Wird dann auch alles ausgewählt, was im Bild weiß ist?
Luciano

0

Sie können dies direkt aus Photoshop heraus tun.

Verwenden Sie die Option "Im Web speichern" und speichern Sie sie als GIF mit Transparenz. Suchen Sie die Farbe, die transparent sein soll, in der Farbtabelle. Klicken Sie darauf und dann auf die Schaltfläche, die ich rot eingekreist habe.

Farbtabelle Transparenz

Dadurch wird die von Ihnen ausgewählte Farbe transparent. Speichern.

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.