Aufmacher Artikel

Gimpressionen

Bildbearbeitung mit Gimp, Teil 5

01.08.2001 Wenden wir uns heute den etwas bunteren Seiten von Gimp zu. Vidar Madsen hat mit Gimpressionist ein Plugin geschaffen, das es verdient, von vielen Seiten beleuchtet zu werden. Nach dem Bumpmap-Exzess von letztem Mal, werde ich diesmal etwas weniger intensiv auf das Plugin eingehen. Dafür kommen heute bewegende Antworten auf Leseranfragen.

Eine der "klassischen" Anwendungen von Bildbearbeitungen ist es, Fotos nachträglich einen handgemalten Touch zu verpassen. Jedes Programm hat mindestens eine Funktion, um aus Fotos Ölgemälde oder ähnliches zu machen. Gimp bildet da keine Ausnahme - das entsprechende Plugin finden Sie unter <Bild>/Filter/Künstlerisch/Ölgemälde.

Nun wundern Sie sich vielleicht, warum ich mich nicht so sonderlich begeistert anhöre. Das hat einen einfachen Grund: Das ist schlicht langweilig. Super, ich kann aus meinem Bild ein Ölgemälde machen - aber das kann ja nun auch jeder andere mit jedem anderen Programm. Dazu kommt noch, dass die Ergebnisse von Gimps Filter nicht sonderlich toll sind und ich nur wenig Einfluss auf das Ergebnis habe. Der wahre Grund für meine Langeweile ist aber, dass es etwas wesentlich aufregenderes gibt.

Vorhang auf für Gimpressionist

Vidar Madsen hat mit Gimpressionist ein Plugin geschrieben, das sehr flexibel eingesetzt werden kann, um Bilder in Kunstwerke umzuwandeln. Die zugrundeliegende Idee ist einfach: Das Bild wird neu aus kleinen Pinselbildern zusammengesetzt, die sich an das Bild anpassen können.

Gimpressionist ist eines der Plugins, die so viele Parameter haben, dass es nötig ist, besonders wirkungsvolle Kombinationen abspeichern und später wieder laden zu können. Starten Sie <Bild>/Filter/Künstlerisch/GIMPressionist; diese Voreinstellungen begrüßen Sie als erstes (Abbildung 1). Um sie zu nutzen, klicken Sie auf den Namen der Kombination - zum Beispiel Dotify und dann auf Anwenden. Nun werden die Voreinstellungen auf die einzelnen Karteikarten verteilt.

Abbildung 1

Abbildung 1: Gimpressionist - der erste Start

Da Gimpressionist nicht sonderlich schnell arbeitet, muss man eine Vorschau explizit anfordern, indem man auf Neu Zeichnen klickt. In dem kleinen Feld kann man den Effekt grob beurteilen. Mit einem Klick auf OK wird das Bild dann bearbeitet.

Die Voreinstellung Dotify bewirkt, dass das Bild wie ein Konfettimosaik aussieht (Abbildung 2). Um zu zeigen, welche Ideen hinter Gimpressionist stecken, werden wir den Effekt nun Schritt für Schritt in eine Art Kreidezeichnung auf einer Wand umwandeln.

Abbildung 2

Abbildung 2: Der Tiger aus Konfetti

Die Wand ist eine Art Struktur, die dem ganzen Bild aufgeprägt werden soll. Die entsprechende Einstellung finden Sie auf der Karteikarte Papier. Wählen Sie hier das "Papier" bricks2.pgm aus. Um den Effekt sehen zu können (bei dem Konfetti war er unerwünscht), ziehen Sie den Schieberegler Relief auf etwa 70 hoch. Die Mauerstruktur wird nach einem Klick auf Neu zeichnen sichtbar.

Auf dem Karteireiter Pinsel sehen Sie nun, wo das runde Grundmuster für das Konfetti herkam. Wir wollen lieber Kreidestriche haben, also wählen Sie den Pinsel chalk01.pgm. Wenn Sie nun die Vorschau neu zeichnen lassen, ist das Vorschaubild bis auf die Mauerstruktur schwarz. Der Pinsel wird etwas zu klein gezeichnet. Wechseln sie daher auf die Karteikarte Größe und stellen Sie die minimale und maximale Größe auf z. B. 30. In der Vorschau wird das Bild wieder sichtbar. Unschön ist natürlich, dass sich die Striche alle in dieselbe Richtung bewegen.

Um das auszugleichen, wechseln Sie auf die Karteikarte Orientierung und wählen bei Winkelgröße 360 Grad und bei Richtungen etwa 10. Jetzt darf Gimpressionist den Pinsel von dem Startwinkel in 10 Schritten um 360 Grad drehen und dem Bild anpassen. Dieses Anpassen kann nach verschiedenen Kriterien funktionieren, eine schöne Möglichkeit ist, es den groben Konturen im Bild anzupassen (Anpassend). Natürlich kann Gimpressionist die Pinselstriche umso genauer anpassen, je mehr Richtungen zur Verfügung stehen.

Nun sind Ihnen vielleicht größere schwarze Flecken aufgefallen, das liegt an der Plazierungsstrategie "Zufällig". Bei "Gleichmäßig verteilt" sind die schwarzen Flecken deutlich seltener.

Auch die Größe kann dem Bild angepasst werden. Wenn Sie auf der Größe-Karteikarte die Minimale Größe auf 15 und die Maximale Größe auf 30 stellen und (analog zu den Richtungen) die Anzahl der Größen auf 10 stellen, hat Gimpressionist verschiedene Pinselgrößen zur Verfügung. Auch hier kann wieder eine Auswahlstrategie festgelegt werden. Anpassend orientiert sich an den Strukturen im Bild.

Beachten Sie, dass bei vielen Richtungen und vielen Größen der Rechenaufwand ziemlich steigt und das Ergebnis ziemlich lange auf sich warten lassen kann. Sie sollten es vermeiden, bei den Größen die Maximaleinstellung 30 mit der Anpassend-Strategie zu kombinieren.

Jetzt haben wir einen Tiger, der mit Kreide auf die Wand gemalt wurde (Abbildung 3). Um ein Gefühl für die Möglichkeiten zu bekommen, sollten Sie die verschiedenen Voreinstellungen ausprobieren und dann nachsehen, welche Einstellungen gemacht wurden, um diesen Effekt zu erreichen. Mit etwas Kreativität kann man ein Bild nicht nur in Ölgemälde, sondern auch in andere - lustigere - Dinge verwandeln.

Abbildung 3

Abbildung 3: Ich sehe Tiger an de-heer Wand.

Animation

Ich hatte in Teil 3 meines Workshops dazu aufgerufen, mir Themenvorschläge für eine Fortführung der Serie zuzusenden (ich bin immer noch für Ideen offen: mailto:sbudig@linux-user.de). Am häufigsten wurde danach gefragt, wie man denn GIF-Animationen mit Gimp erstellen könne - oder etwas genereller - wie Gimp mit Filmen umgehen kann.

Um letzteres zuerst zu beantworten: Gimp ist nicht das richtige Werkzeug, um Filme von mehreren Minuten Länge zu bearbeiten. Man kann zwar über die Plugins unter <Bild>/Video/Video in Frames aufteilen Filme einlesen, sie werden dann aber als Einzelbilder unkomprimiert auf der Festplatte abgelegt - wer den Platz nicht gerade Terabyteweise frei hat, ist recht schnell am Ende.

Spätestens, wenn man etwas kompliziertere Animationen machen möchte, merkt man, dass Gimp nicht das optimale Werkzeug ist. Die Methode, Einzelbilder als Ebenen darzustellen, ist ein schneller Hack, um GIF-Animationen zu ermöglichen, ohne die internen Datenstrukturen zu vergewaltigen. Insbesondere steht einem für Animationen jetzt nicht mehr die Möglichkeit der Arbeit mit Ebenen zur Verfügung. Gerade bei Animationen, wo Objekte hin- und herbewegt werden und sich dabei eventuell überlappen, wäre das aber sehr nützlich. Hier greifen die Plugins aus dem Bereich <Bild>/Video/..., ich muss aber eine genauere Beschreibung leider schuldig bleiben, da ich mich selber noch nicht intensiv genug mit diesen Plugins auseinandergesetzt habe. Doch auch mit den klassischen Methoden kann man schon effektvolle GIF-Animationen machen.

GIF in Bewegung

GIF ist nach wie vor das einzige Format, das bei nahezu allen Web Browsern für Animationen unterstützt wird. Daher wird es auch trotz der lizenzrechtlichen Probleme rund um die LZW-Kompression noch gerne im Web Design eingesetzt. Sie müssen eine Lizenz von Unisys besitzen, um mit Gimp erzeugte GIF-Bilder legal im Internet verteilen zu können. Aus diesem Grund wird bei manchen Gimp-Paketen das GIF- (und TIFF-) Plugin nicht standardmäßig installiert. Sie müssen dann noch ein weiteres Paket (z. B. gimp1.2-nonfree) nachinstallieren, um GIF-Bilder erzeugen zu können. Ähnliches gilt für die Windows-Version von Gimp, hierzu finden Sie weitere Informationen unter http://www.gimp.org/win32/.

Animationen sind eigentlich nichts anderes als eine Sammlung von Bildern, die nacheinander dargestellt werden. Insofern liegt es nahe, dass Gimp die Einzelbilder einer Animation in Ebenen abspeichert. Wenn Sie ein x-beliebiges animiertes GIF aus dem Web in Gimp laden (sie können übrigens einfach eine URL als Dateiname angeben, Gimp lädt sich dann das Bild über wget aus dem Netz), sehen Sie, dass im Ebenendialog die einzelnen Stadien der Animation sichtbar sind.

Wie lange ein Einzelbild sichtbar ist, können Sie über den Namen einer Ebene festlegen. Wenn der zum Beispiel blafasel (500ms) lautet, wird das Bild eine halbe Sekunde lang dargestellt. Beachten Sie, dass außer ms (Millisekunden) keine andere Einheit erlaubt ist. Wenn Sie keine Dauer festlegen, wird beim Abspeichern des fertigen Bildes nach einer Standarddauer gefragt.

Zum Gähnen!

Eine schnelle Methode, eine Animation zu erzeugen, ist das IWarp-Plugin, dass sie unter <Bild>/Filter/Verzerren/Iwarp finden. Mit diesem Plugin können Sie Bilder freihand Verzerren, ähnlich, wie man das von den "Goo"-Programmen her kennt. Besonders leicht ist es, aus Gesichtern Karikaturen zu erzeugen, indem man markante Gesichtszüge verstärkt. Sie können Bildbereiche verschieben, aufblähen (Vergrößern), zusammenziehen (Schrumpfen) und in und gegen den Uhrzeigersinn umrühren. Mit Entfernen führen Sie ein Bild wieder in den Originalzustand zurück. Mit den beiden Schiebereglern werden die Größe des beeinflussten Bereichs und die Intensität des Effekts festgelegt. Mit der Maus können Sie dann in dem Vorschaubild verzerren, nach ein paar Versuchen hat man den Dreh raus.

Das IWarp-Plugin hat nun die Möglichkeit, eine Animation vom unverzerrten zum verzerrten Bild (und eventuell wieder zurück) zu erzeugen. Dazu klicken Sie einfach auf die Karteikarte Animation und wählen die Anzahl der zu erzeugenden Zwischenschritte. Mit Umgekehrt wird nicht von dem Ursprungs- zum verzerrten Bild animiert sondern - Überraschung - umgekehrt. Mit Ping-Pong wird nach dem Verzerren wieder zum ursprünglichen Bild zurückanimiert.

Auf der Heft-CD habe ich unseren Tiger mit dieser Methode zum Gähnen gebracht (Abb. 4). Vielleicht schaffen Sie es ja sogar, Ihre Schwiegermutter zum Grinsen zu bringen…

Abbildung 4

Abbildung 4: Gääääähhhmp!

Ansehen können Sie sich das fertige Kunstwerk mittels <Bild>Filter/Animation/Animation abspielen. Die Bedienung des Plugins ist klar, aber es gibt hier noch einen netten Trick: Sie können auf die Anzeige der Animation klicken und sie "aus dem Fenster hinausziehen". Dies ist ganz besonders praktisch, wenn Sie mal eben schnell begutachten wollen, wie die fertige Animation denn in der Web-Seite aussehen würde, und keine Lust haben, jetzt schon wieder in dem HTML-Code rumzubasteln. Einfach die Animation über den Web-Browser ziehen. Sie verschwindet wieder, wenn das Fenster geschlossen wird.

Ich beschränke mich nun darauf, noch ein paar Tips zum "klassischen" Umgang mit Animationen zu geben. Auch ein paar Philosophierereien zum Einsatz von Animationen im WWW werde ich mir nicht verkneifen.

Halten sie den Ebenen & Kanäle-Dialog immer offen, wenn Sie mit Animationen arbeiten. Er ist ein sehr nützliches Werkzeug, um mal eben eine Ebene zu duplizieren, die Reihenfolge der Ebenen (also die Abfolge der Einzelbilder) schnell zu ändern und zwei Ebenen miteinander zu kombinieren. Als kleines Beispiel können wir ja mal einen kleinen Text erscheinen lassen.

Text einblenden

Erzeugen Sie ein neues Bild z. B. in der Größe 500x100. Wählen Sie das Textwerkzeug und erzeugen Sie den Text, der erscheinen soll, in einer eigenen Ebene. Duplizieren Sie nun den Hintergrund und die Textebene je zehn mal. Per Drag & Drop können Sie nun die Kopien der Textebene zwischen die Kopien der Hintergrundebenen einsortieren (Abbildung 5).

Abbildung 5

Abbildung 5: Sortieren der Ebenen

Wenn Sie nun die Animation abspielen, sehen Sie einen blinkenden weißen Text vor schwarzem Hintergrund. Wir wollen aber lieber einen eingeblendeten Text haben. Wählen Sie daher als Deckkraft der Textebenen mit dem Schieberegler im Ebenendialog in 10%-Schritten Werte zwischen 0% und 100%. Aus technischen Gründen können Sie diesen Effekt in der Animationsvorschau noch nicht sehen, es ist aber im Prinzip immer noch ein blinkender Text. Um das auch noch zu beseitigen, verschmelzen Sie immer je zwei aufeinanderfolgende Ebenen. Dafür müssen Sie per Mausklick nacheinander die Textebenen aktivieren und mit dem Kürzel [Umsch+Strg+M] den Befehl Nach unten vereinen auslösen (Abbildung 6). Nun blendet unser Text sanft ein.

Abbildung 6

Abbildung 6: Ebenen zusammenfügen

Dieses Bild können wir nun als animiertes GIF abspeichern. Geben Sie einfach einen Dateinamen an, der auf .gif endet. Es erscheint automatisch der Export-Dialog (Abb. 7), der Sie darauf hinweist, dass mehrere Ebenen vor dem Abspeichern zusammengefügt werden können - das wollen wir aber in diesem Fall nicht. Klicken Sie daher auf Als Animation abspeichern. Da das GIF-Plugin nur indizierte Farben unterstützt, wird das Bild automatisch in ein solches Format umgewandelt. Klicken Sie dann auf Exportieren. In dem dann erscheinenden Dialog klicken Sie einfach auf OK, die Voreinstellungen sind vernünftig. Wenn Sie dieses Bild nun z. B. in Netscape anschauen, sehen Sie den Effekt.

Abbildung 7

Abbildung 7: Die relevanten Dialoge für GIF-Animationen

Web Design

Ich habe eine Bitte: GIF-Animationen sind zwar manchmal eine nette Bereicherung einer Web-Seite - wenn Sie jedoch im absoluten Übermaß verwendet werden und an jeder Stelle einer Web-Seite etwas blinkt und sich bewegt, wird der Besucher der Seite sich wieder mit Grausen abwenden. Bitte seien Sie sparsam mit dem Einsatz von GIF-Animationen. Manchmal ist ein kleiner Effekt viel wirkungsvoller als die große Blinkerei. Beispielsweise gibt es auf Slashdot nach einem Bericht zu Gimp immer wieder erstaunte Kommentare, dass sich die Augen von Wilber (dem Maskottchen von Gimp) ja bewegen würden - und man das ja noch nie bemerkt habe. Sie bewegen sich tatsächlich um ein oder zwei Pixel, und das wird sich auch nicht ändern. Aber ein sich um die eigene Achse drehender Wilber, der die Farbe wechselt und dabei auf und ab hüpft, würde nie diesen Aha-Effekt auslösen…

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

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

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...

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare