Ich habe ein animiertes GIF, das etwa 2 MB groß ist. Wenn ich es in Photoshop CS 5 öffne, eine Ebene mit einem Logo hinzufüge und es dann für das Web speichere, ist es plötzlich 4 MB groß.
Wieso den? Es gibt nicht mehr Farben oder so, warum nimmt die Größe zu?
Das fragliche Bild ist NSFW und ich kann es hier nicht posten.
Die Farbnummer ist nur die halbe Miete. Die andere besteht darin, das Bild nach der Farbreduktion zu komprimieren. Diese verlustfreie Komprimierung sucht nach wiederholten Mustern in Scanline-Reihenfolge.
Lange Rede, kurz: Wenn Sie das Logo hinzufügen, erhöhen Sie die Bildvariabilität, die Entropie. Je mehr Entropie im Bild vorhanden ist, desto schlechter wird die Komprimierung, da der Computer nicht mehr so viele sich wiederholende Muster finden kann. Wenn Sie also die Komplexität des Bildes verdoppeln, verdoppelt sich grob gesagt Ihre Dateigröße.
Obwohl joojaa größtenteils korrekt ist, verwenden GIFs tatsächlich keine Run Length Encoding. Sie verwenden den LZW-Algorithmus .
Grundsätzlich kann dieser Algorithmus EXAKTE Wiederholungen von horizontalen Pixelstreifen nutzen. Dies funktioniert sehr gut für Volltonfarben und regelmäßige Dithering-Muster (z. B. Schachbrettmuster).
LZW kann sich jedoch nur 4096 verschiedene Pixelstreifen "merken". Je mehr Variationen in Ihrem Bild also vorhanden sind, desto kürzer sind diese Streifen im Durchschnitt und desto weniger Komprimierung erhalten Sie.
Fazit: Wenn Sie Ihr Logo vereinfachen (mehr Volltonfarben und regelmäßige Muster) oder gemeinsame Pixelstreifen aus dem Rest des Bildes in Ihrem Logo „ausleihen“ oder die Farben des Logos so ändern, dass sie häufiger vorkommen Beim Rest des Bildes sollte die Dateigröße reduziert werden.
Wie in anderen Antworten erwähnt, wird jede Variation auf dem Bild, die zuvor einheitlicher war, die Komprimierung pessimieren. Trotzdem glaube ich nicht, dass dies eine zweifache Steigerung für 2 MB ergeben würde (es sei denn, Ihr Logo ist buchstäblich so groß wie das Bild selbst).
Es könnte sein, dass das Originalbild maximal komprimiert und alle unnötigen Header-/Meta-Informationen entfernt wurden und PS viele eigene Sachen hinzugefügt oder keine maximale Komprimierung verwendet hat. Versuchen Sie, Ihr neues GIF durch ein Tool wie zu führen, gifsicle
und sehen Sie, ob es hilft. Wenn Sie sich nicht wirklich für das Bildformat interessieren, können Sie pngout
+ ausprobieren deflopt
und sehen, wie groß .png wird.
Zusätzlich zur normalen GIF-Komprimierung für jedes einzelne Bild können animierte GIFs optional mathematische Operationen zwischen dem nächsten Frame und dem bereits auf dem Bildschirm angezeigten Frame anwenden und kleinere Bilder in kleineren Bereichen auf der Bildleinwand platzieren.
Nehmen wir also an, Sie haben ein animiertes GIF mit 10 Frames und es ist ein schwarz-weißes Strichmännchen, das über die Leinwand läuft. Das erste Bild wäre vollständig, füllt die Leinwand aus und enthält alle erforderlichen Informationen, als wäre es ein eigenständiges GIF. Der nächste "Rahmen" besteht möglicherweise nur aus einem kleineren Kästchen, das nur den geänderten Bereich aktualisiert.
Bei videoanimierten Gifs ist dies komplizierter. Aufgrund von Dithering stellen Sie häufig fest, dass sich der gesamte Rahmen ändert, sodass er größer wird.
Einige GIF-Optimierungssoftware kann erhebliche Optimierungen vornehmen, wenn sie mit einer guten Videoquelle beginnt. Darüber hinaus kann die Software einige Kompromisse eingehen, um die Größe zu verbessern (zu verringern), jedoch durch Beeinträchtigung der Animation - beispielsweise durch möglicherweise schlechteres Dithering.
Wenn Sie jedoch mit einem solchen GIF beginnen und es auch nur geringfügig ändern, können Sie nicht unbedingt erwarten, dass die Software (in diesem Fall Photoshop) dieselben Optimierungen anwenden kann, da das ursprüngliche Quellvideo fehlt . Außerdem wird es möglicherweise nicht einmal intern so gespeichert, dass es das ursprüngliche GIF mit seinen Optimierungen neu erstellen kann. Versuchen Sie, das animierte GIF zu öffnen und es dann als neues animiertes GIF zu exportieren, ohne Änderungen vorzunehmen. Es ist möglich, dass die Größe einfach zunimmt, weil keine Optimierungen verwendet werden und jedes Vollbild gespeichert wird.
Sobald Sie die Frames ändern, werden Sie feststellen, dass die Größe trotz Optimierungen trotzdem zunimmt. Dies gilt insbesondere, wenn Sie einen Alphakanal verwenden und einen Teil des Logos durchsichtig oder als Wasserzeichen mit Lichtdurchlässigkeit verwenden.
Möglicherweise können Sie einige der Optimierungen wiederherstellen, indem Sie sie nach Photoshop durch eine GIF-Animationsoptimierungssoftware laufen lassen, und viele Leute tun dies sowieso, weil Photoshop Qualität und Pixelperfektion über Größe legt.
Die ideale Lösung besteht jedoch darin, das Originalvideo (nicht das GIF, sondern die Videodatei) zu nehmen, das Logo/Wasserzeichen anzuwenden und dann ein speziell für die Größenoptimierung entwickeltes GIF-Animationsprogramm für die Konvertierung zu verwenden. Überspringen Sie Photoshop vollständig.
Aufgrund der Größe des Bildes würde ich sagen, dass es sich um ein animiertes GIF handelt, und wie Adam Davis sagte, gibt es mehrere Möglichkeiten, animierte GIF-Bilder zu optimieren, als nur statische GIF-Bilder.
Jetzt bin ich kein Experte dafür, was genau Photoshop tut, aber es kann versuchen, eine GIF-Datei zu erstellen, in der die statische Logoebene über den Rest der Frames gelegt wird, wo dies insbesondere bei sehr geschäftigen Animationen, dh Filmclips, der Fall sein könnte Es ist besser, eine "zusammengefügte Animation" zu definieren, die aus einer Folge vollständiger Einzelbilder besteht, die nacheinander angezeigt werden.
Ich weiß nur, wie man das mit imagemagick macht, aber ich vermute, dass Sie in Photoshop die Logoebene über jedem Frame zusammenführen müssen, bevor Sie die Sequenz speichern.
user56reinstatemonica8