ImageMagick: PNG zu GIF: Machen Sie alle nicht vollständig transparenten Pixel zu festen

ImageMagick: PNG zu GIF: Machen Sie alle nicht vollständig transparenten Pixel zu festen

Ich versuche, eine GIF-Animation aus einer Reihe transparenter PNG-Bilder in verschiedenen Auflösungen zu erstellen. Dabei -resizewerden die Kanten verzerrt. Der Hintergrund ist wahrscheinlich ziemlich vorhersehbar, sodass ich ihn einfach einfarbig machen könnte, aber wenn möglich, möchte ich etwas Besseres: Ich möchte, dass alle Pixel, die halbtransparent wären, wenn das Ausgabebild PNG wäre, einfarbig sind und Weiß als Hintergrund haben.

Gibt es eine Kombination von Optionen für ImageMagick, die mir dies ermöglicht? Mein Befehl sieht derzeit so aus:

for size in 28 42 56 84 112; do
    echo $size
    convert -delay 6 -dispose previous {0007..0145}.png -resize ${size}x${size} -coalesce -layers OptimizeFrame scotch_${size}_short.gif
done

So sehen die Bilder im Moment aus:

Beachten Sie die gezackten Kanten der kleineren Versionen.

Warum mache ich den Hintergrund nicht einfach einfarbig? Er wird auf Twitch als Cheer-Emote verwendet. Dort ist der Hintergrund des Bereichs, in dem er angezeigt wird #FFFFFF, , aber wer weiß, er könnte sich ändern. Ich möchte also, dass er sich langsam abschwächt, damit erDannhabe sichtbares Aliasing, bis ich das Emote aktualisiere. (Beachten Sie, dass es auch einen Dunkelmodus gibt, also muss ich das alles auch für einen dunklen Hintergrund zweimal machen, aber das habe ich irgendwie schon hinbekommen.)

verwandte Informationen