Size matters

Die andere Sache, die Sie im Blick behalten sollten, ist die Dateigröße. GIF-Animationen können sehr groß werden und die Ladezeit einer Web-Seite drastisch verlängern. Wenn man die Animation von vornherein günstiger gestaltet und manche Effekte etwas anders anlegt, kann man viel Platz sparen. Die Animation, die wir gerade erzeugt haben (Abbildung 8), ist ca. 34 KB groß, über eine ISDN-Verbindung würde sie fünf Sekunden brauchen, um auf den heimischen Rechner zu gelangen. Da sie jedoch nur eine Sekunde lang ist, wird sie zu langsam ablaufen und ruckeln.

Abbildung 8: Einblenden von Text - Große Dateien…

Um die Größe zu reduzieren, sollten Sie zwei Dinge tun: Erstens das Bild von Hand indizieren (möglichst wenige Farben und möglichst ohne Farbrasterung) und dann den Menüpunkt <Bild>/Filter/Animation/Animation optimieren aufrufen. Dieser Befehl versucht, Redundanzen aus dem Bild zu entfernen und ein paar Spezialitäten des GIF-Formats auszunutzen, um noch etwas Platz zu sparen. Das lohnt sich besonders, wenn von Bild zu Bild große Bereiche gleich bleiben und daher nicht erneut abgespeichert werden müssen. In unserem Fall kommen wir auf etwa 24 KB.

Das Hauptproblem mit der Dateigröße ist aber hausgemacht. Da unser Text langsam einblendet, ändern von Bild zu Bild viele Pixel ihre Farbe. Es wäre besser, wenn sich jeweils nur kleine Bereiche ändern würden - dann würden auch weniger Bildinformationen übertragen. Ich habe als Experiment unsere Animation so umgestaltet, dass Buchstabe für Buchstabe erscheint. Damit ändert sich von einem Bild zum nächsten immer nur ein kleiner Bereich. Wenn Sie das machen wollen, lohnt es sich, vom kompletten Text auszugehen, eine Kopie der Ebene zu machen und dann einen Buchstaben zu löschen. Diesen Vorgang wiederholen Sie, bis der Text leer ist. Das Ergebnis sieht etwa so aus wie Abbildung 9.

Abbildung 9: Einblenden von Text - Kleine Dateien…

Nachdem das Bild indiziert und optimiert wurde, ist es noch ganze 4 KB (!) groß. Da hat sich die leichte Umstellung der Animation doch gelohnt. Generell kann man sagen, dass Bewegungen und Einblendungen mehr Platz brauchen als das Erscheinen von Bildteilen.

So. Natürlich gibt es noch viel zu entdecken, aber damit soll es für dieses Mal genügen. Viel Spaß!

Der Autor

Simon Budig schlägt sich gerade mit Compilerbau herum. In zwei Wochen (also etwa zwei Wochen vor dem Erscheinungstermin) ist Prüfung. Daher heute hier keine tiefsinnigen Bemerkungen. Ein Parser ist ein Algorithmus, der einen formalen Beweis für...

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 0 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...
Für Linux programmieren
Alexander Kramer, 25.11.2017 08:47, 3 Antworten
Ich habe einen Zufallsgenerator entworfen und bereits in c++ programmiert. Ich möchte den Zufalls...