Angestöpselt

Bildbearbeitung mit Gimp, Teil 4

01.07.2001
Das meiste von dem, was wir in den letzten drei Teilen des Workshops kennengelernt haben, war fest in den Gimp eingebaut: Werkzeuge, Auswahlen, Ebenen… Einen weiten Bereich haben wir bisher nur angerissen: Plugins. Das sind eigene kleine Programme, die spezielle Aufgaben übernehmen und nachträglich in das Menü von Gimp aufgenommen werden.

Wenn man Gimp das erste Mal startet, ist für eine relativ lange Zeit der Dialog aus Abbildung 1 sichtbar. Genau hier passiert die Suche nach neuen Plugins: Diese werden gefragt, an welcher Stelle sie in das Menü eingebunden werden müssen. Die Ergebnisse der Suche werden in der Datei ~/.gimp-1.2/pluginrc abgespeichert – daher gehen die folgenden Starts deutlich schneller.

Abbildung 1: Hier werden die Plugins geprüft

Ich hatte zuerst die Idee, alle Untermenüs von <Bild>/Filters und <Bild>/Script-Fu auf dem Bildschirm anzuordnen und einen beeindruckenden Screenshot zu machen, bin aber wieder davon abgekommen – es sind einfach zu viele. Ich stehe also für diesen Teil des Workshops vor einem Dilemma: Welche Plugins soll ich vorstellen?

Vielleicht werden Sie sich schon gefragt haben, wie ich das abstrakte Muster aus dem letzten Teil erzeugt habe. Im Wesentlichen habe ich dazu zwei Verzerren-Plugins verwendet.

Öffnen Sie ein neues Bild (z. B. 500x500 Pixel) und wählen Sie in der Bildmitte einen rechteckigen Bereich aus (in meinem Beispiel von (0, 220) bis (500, 280)). Füllen Sie diesen Bereich mit schwarzer Farbe. Mit <Bild>/Auswahl/Nichts deaktivieren Sie die Auswahl wieder. Starten Sie nun das Plugin <Bild>/Filter/Verzerren/Wellen. Mit diesem Plugin wird das Bild so verzerrt, als ob man einen Stein in die (flüssige) Bildoberfläche werfen würde. Mit den unteren Schiebereglern können Sie die Wellen beeinflussen – in der Vorschau sehen Sie dann, was Sie erwartet. In meinem Beispiel habe ich für die Amplitude, Phase und Wellenlänge die Werte 45, 40 und 20 genommen (Abbildung 2).

Abbildung 2: Erstmal ein paar Wellen schlagen…

Im nächsten Schritt wird dieses Bild spiralförmig verzerrt. Das geht am einfachsten mit <Bild>/Filter/Verzerren/Drehen und Drücken (Abbildung 3). Achten Sie darauf, dass als Hintergrundfarbe weiß eingestellt ist, sonst erscheinen am Rand seltsame farbige Gebiete (wo sozusagen etwas aus dem Nichts "herausgedreht" wird). Ich habe hier das Bild maximal verdreht (360 Grad, größter Radius). Wenn man will, kann man hier auch noch über den Schieberegler Druck die Bildmitte zusammenziehen oder ausdehnen.

Abbildung 3: …und dann umrühren

So. Nun haben wir etwas, das etwa an das erinnert, was ich im letzten Teil als Beispiel verwendet habe. Allerdings sieht die Kante nicht besonders toll aus. Sie wirkt leicht ausgefranst. Interessanterweise kann uns hier ein Weichzeichner helfen, eine sauberere Kante zu erzeugen.

Den wichtigsten Weichzeichner haben wir letztes Mal schon kennengelernt: <Bild>/Filter/Weichzeichnen/Gaußscher Weichzeichner. Dieses Plugin gibt es in zwei Varianten, deren Ergebnisse sich allerdings nur marginal unterscheiden. Ob man IIR oder RLE verwendet ist normalerweise ziemlich egal. Der Weichzeichner kann für verschiedene Zwecke nützlich sein. Im letzten Teil haben wir gesehen, wie man ihn für Leucht- und Schatteneffekte einsetzen kann. Man kann ihn aber auch einsetzen, um ein saubereres Antialiasing zu erzeugen. Ja, das hört sich verrückt an, aber es geht:

Abbildung 4: Weichzeichnen für scharfe Kanten. Die Ausschnittsvergrößerung zeigt den unsauberen Rand

Zeichnen Sie das Bild mit einem Radius von etwa 10 weich. Hierbei gehen zwangsläufig Details verloren, was aber in unserem speziellen Fall erwünscht ist: Die kleinen Zacken sollen verschwinden. Übrigens sind standardmäßig die Radien in horizontaler und vertikaler Richtung miteinander verknüpft, das heißt, sie haben immer denselben Wert. Will man das nicht, muss man auf den kleinen Knopf mit dem Kettenglied klicken.

Jetzt kommt der Trick: Mit dem im zweiten Teil schon vorgestellten Werte-Werkzeug (<Bild>/Bild/Farben/Werte) kann man nun wieder eine saubere, scharfe Kante erzeugen. Ich habe mit den Quellwerten 115, 1.0 und 145 gute Ergebnisse erzielt (Abbildung 4).

Abbildung 5: Mit dem Werte-Dialog wird es wieder scharf. Die Ausschnittsvergrößerung zeigt die Verbesserung

Nun können wir ganz einfach die Schritte aus dem letzten Teil nachvollziehen: Duplizieren Sie die Ebene, lassen Sie einen Weichzeichner über die untere Ebene laufen… - äh, Moment. Wir haben die Transparenz vergessen. Eigentlich wollten wir doch das schwarze Motiv vor einem transparenten Hintergrund haben…

Alles kein Problem - es gibt ja noch mehr Plugins. In diesem Fall hilft uns <Bild>/Filter/Farben/Farbe zu Transparenz weiter. Bequemerweise ist hier schon weiß als die Farbe eingestellt, die in Transparenz umgewandelt werden soll. Nach einem Klick auf OK haben wir das Bild in der Form, wie wir es brauchen.

Noch eine Bemerkung zu dem letzten Plugin. Farbe zu Transparenz versucht jeden Pixel möglichst transparent zu machen, unter der Annahme, dass die eingestellte Farbe in eine Ebene darunter gelegt wird. Das ist manchmal eine gute Methode, um bestimmte Farben transparent zu machen, meistens ist der Effekt aber stärker als gewünscht. Je nach Aufgabe ist es dennoch einen Versuch wert.

Grafiktabletts

Ein Leser hat mich gefragt, wie denn die Unterstützung für Grafiktabletts funktioniert. Ich werde hier nicht auf die verschiedenen Typen von Grafiktabletts eingehen – dazu sei auf meinen Artikel im Linux-Magazin Mai 2000 verwiesen, der unter http://www.linux-magazin.de/ausgabe/2000/05/XInput/xinput.html auch im WWW verfügbar ist.

Gimp bekommt die Informationen über sogenannte XInput-Geräte (zu denen auch Grafiktabletts gehören) über die GTK+-Bibliothek. Diese wiederum erhält ihre Informationen direkt vom X-Server. Um nun also Gimp mit Grafiktabletts nutzen zu können, muss der X-Server so konfiguriert werden, dass die Grafiktabletts als XInput-Geräte erkannt werden. Typischerweise geschieht das über die /etc/X11/XF86Config, Details stehen in dem oben erwähnten Artikel.

Für die Unterstützung von GTK+ muss man heute normalerweise nicht mehr viel machen, alle aktuellen Pakete unterstützen XInput-Geräte von Anfang an. Früher konnte es nötig sein, GTK+ selbst zu übersetzen, da man die Unterstützung für XInput explizit einschalten musste (der ./configure-switch heißt --with-xinput).

Um die erweiterten Möglichkeiten innerhalb von Gimp nutzen zu können, muss man jetzt unter <Toolbox>/Datei/Dialoge/Eingabegeräte (Abb. 6) die XInput-Geräte aktivieren, indem man jedes (außer SWITCH unter XFree 3.3.x) auf den Modus Bildschirm stellt. Nach einem Klick auf Speichern und Schließen sollte man jetzt im Bildfenster mit dem Pinselwerkzeug drucksensitiv malen können.

Abbildung 6: Aktivieren des Grafiktabletts für Gimp

Kurz noch zur Fehlersuche, falls das so nicht klappt. Das Kommando xinput list listet alle Eingabegeräte auf. Ist der X-Server richtig konfiguriert, müssen hier ein oder mehrere "XExtensionDevice"'s auftauchen. Ist dies der Fall und erscheint trotzdem innerhalb von Gimp bei der Auswahl des obigen Dialogs ein "No Input Devices", wurde GTK+ nicht richtig übersetzt.

Dreidimensional

Vor noch gar nicht allzu langer Zeit waren im Webdesign Knöpfe üblich, die etwas dreidimensional wirkten, also aus der Webseite "herausstanden" und zum Anklicken animierten. Auch wenn der Trend im Moment eher zu flächigem Design geht, ist es doch gut zu wissen, wie man solche Effekte erzeugt.

Gimp bietet für derartige Effekte das ziemlich flexible Bumpmap-Plugin (Bumpmap könnte man etwa als "Dellenkarte" oder "Beulenkarte" übersetzen…), das Sie unter <Bild>/Filter/Abbilden/Bumpmap finden. Den Dialog sehen Sie in Abbildung 7.

Abbildung 7: Viele Parameter für das Bumpmap-Plugin

Bevor wir uns ins Abenteuer stürzen noch schnell etwas Theorie. Das Bumpmap-Plugin basiert auf der Idee, dass ein Gebirge von oben betrachtet immer noch etwas von seiner Struktur erkennen lässt, da die Sonne die unterschiedlichen Hänge unterschiedlich beleuchtet. Das Gebirge wird innerhalb von Gimp typischerweise mit einem Graustufenbild beschrieben. Die unterschiedlichen "Höhen" sind ähnlich wie in einer topographischen Karte durch verschiedene Graustufen symbolisiert. Schwarz sind die Täler und weiß die Gipfel.

Probieren wir es aus. Erzeugen Sie ein neues Bild mit schwarzem Hintergrund und schreiben sie einen weißen Text hinein. Mit <Bild>/Filter/Weichzeichner/Gaußscher Weichzeichner können Sie dafür sorgen, dass unser "Gebirge" mit erhabenen Buchstaben an den Rändern etwas sanftere Hänge bekommt. Erzeugen Sie nun ein zweites Bild in derselben Größe, diesmal allerdings mit weißem Hintergrund. Starten Sie nun per Rechtsklick in dem weißen Bild <Bild>/Filter/Abbilden/Bumpmap.

Als erstes wählen Sie nun innerhalb der Parameter-Einstellungen unter dem Punkt Bumpmap das Bild aus, das unser "Gebirge" darstellt. In dem Vorschaubild oben links sollte nun schon ein dreidimensionaler Effekt zu sehen sein, gegebenenfalls müssen Sie noch etwas herumscrollen (Entweder über die Rollbalken oder per Klick in die Vorschau), bis Sie den interessanten Bereich gefunden haben.

Mit den Parametern Längengrad und Breitengrad können Sie nun die Richtung festlegen, aus der unser Gebirge beleuchtet wird. Längengrad legt fest, von welcher Seite die Lichtquelle auf das Gebirge scheint. Wenn Sie an dem Schieberegler ziehen, sehen Sie, wie die hellen Stellen um das Gebirge herumwandern. Mit Breitengrad legen sie fest, aus welcher Höhe über dem "Horizont" die Lichtquelle auf das Gebirge scheint. Probieren sie ein bisschen herum, um ein Gefühl für die Parameter zu bekommen. Nach einem Klick auf OK wird der Effekt in das Bild übernommen.

Der Tiefe-Parameter regelt die Maximalhöhe des Gebirges. Je größer er ist, desto steiler werden die Hänge, die Beleuchtung wird also kontrastreicher.

Jetzt wirds bunt.

Wir haben bis jetzt nur die grundlegende Variante des Bumpmap-Effektes kennengelernt. Natürlich kann man das Plugin nicht nur auf weiße Bilder anwenden – dann würden ja immer nur grau schattierte Ergebnisse herauskommen. In Bild 8 habe ich das Bumpmap-Plugin auf ein buntes Bild angewandt. Im rechten oberen Bereich sehen sie die graustufige Landkarte, links unten den Effekt, den sie auf ein buntes Bild hat. In diesem Fall habe ich das bunte Muster mit <Bild>/Filter/Render/Wolken/Plasma erzeugt.

Abbildung 8: Rechts oben die Bumpmap, links unten der erzeugte Effekt

Werfen wir einen Blick auf die Parameter im Dialog rechts oben (Abb 7). Der Map Typ gibt an, wie die Graustufen in Höhenstufen umgesetzt werden. In Abbildung 9 sehen sie die drei zugrundeliegenden Funktionen: Linear, Spherisch und Sinusförmig. Eine kurze Interpretationshilfe: Wenn Sie an einem Rand einen gleichmäßigen Farbverlauf von schwarz nach weiß haben, setzen die verschiedenen Funktionen diesen in einen geraden, viertelkreisförmigen oder sinusförmigen Hang um. In dem Bild sehen Sie, wie sich die verschiedenen Formen auf eine kleine Pyramide auswirken. Linear ergibt einen spitzen Kegel, Spherisch eine Art Quecksilbertropfen und Sinusförmig einen sanften Hügel, der zur Spitze und zum Boden hin sanft ausläuft.

Abbildung 9: Dem Bumpmap-Plugin zugrundeliegende Abbildungsfunktionen

Der Bumpmap-Algorithmus hat den meist unerwünschten Nebeneffekt, dass das Bild deutlich dunkler wird (wenn die Lichtstrahlen schräg auftreffen, wird die Fläche nicht voll erleuchtet). Um diesen Effekt zu reduzieren, kann man die Option Verdunkelung kompensieren nutzen. Die Option Bumpmap invertieren interpretiert das Graustufenbild exakt umgekehrt: Weiß sind die Täler, schwarz die Höhenzüge. Im Prinzip könnte man denselben Effekt erreichen, indem man die Lichtquelle auf die gegenüberliegende Seite (± 180°) dreht – dieser Knopf ist eine Abkürzung.

Ist die Bumpmap kleiner als das Bild, auf das sie angewandt wird, kann man sie mit der Option Bumpmap kacheln wiederholen und so eine gleichförmige Oberflächenstruktur erzeugen. In diesem Zusammenhang muss man auch die Parameter X/Y-Versatz sehen, die die Bumpmap gegenüber dem Bild verschieben. Mit Ambient kann man die diffuse Beleuchtung regeln. Je höher dieser Wert ist, desto heller erscheint die der Lichtquelle abgewandte Seite.

Um den Parameter Wasserhöhe zu erläutern, muss ich etwas ausholen. Ich will aber nicht zu sehr in die Tiefe gehen, sonst artet das Ganze aus – ich will gleich noch einen netten Trick vorstellen. Das Bumpmap-Plugin kann auch Transparenzinformationen als Höheninformationen auswerten. Das heißt, wenn ein weißer Fleck sanft in Transparenz übergeht, erscheint nach Anwendung des Effektes ein Hügel. Wenn allerdings ein schwarzer Fleck in Transparenz übergeht, erscheint eine Delle. Wie stark sich ein Hügel erhebt oder wie tief sich eine Delle eindrückt, wird über die Wasserhöhe festgelegt.

Um es kurz zu machen: Schauen Sie sich Bild 10 an. Links sehen Sie, wie Flecken in verschiedenen Grauwerten vor einem grünen Hintergrund in Transparenz übergehen. Daneben sehen Sie die Bilder, die entstehen, wenn man diese Bumpmap mit den Wasserhöhen 0, 64, 128, 192 und 256 auf einem weißen Bild anwendet. Beachten Sie, dass bei einer Wasserhöhe von 0 nur Hügel, bei einer Wasserhöhe von 256 nur Dellen entstehen (das Licht kommt von links oben).

Abbildung 10: Der Effekt des Wasserhöhen-Parameters

Konturen

Zum Abschluss noch ein kleines Schmankerl. Die drei verschiedenen Funktionen, um die Form der Kontur zu beeinflussen, sind ja ganz nett, aber manchmal will man doch etwas mehr Einfluss haben. Das Bumpmap-Plugin alleine kann das nicht leisten, es ist aber sehr leicht, dem Plugin verschiedene Konturen "unterzujubeln". Hierzu können Sie den <Bild>/Bild/Farben/Kurven-Dialog verwenden.

Starten Sie wieder mit einem weichgezeichneten (Radius ca. 10 Pixel) weißen Text vor einem schwarzen Hintergrund. Öffnen Sie nun den Kurven-Dialog und modellieren Sie eine Kontur, ähnlich wie in Abbildung 11 zu sehen.

Abbildung 11: Mit dem Kurvenwerkzeug eine Kontur für Bumpmap erzeugen

Erzeugen Sie nun ein neues Bild in derselben Größe. Ich habe, um für etwas Buntes zu sorgen, wieder einen Plasmaeffekt erzeugt. Wenden Sie dann das Bumpmap-Plugin mit dem Schriftzug an. Das Ergebnis sollte etwa so aussehen wie in Bild 12.

Abbildung 12: Das Ergebnis: Ein Text mit einer Schmuckkontur

Hmm, ich gebe zu: Von dem beim letzten Mal versprochenen Streifzug durch die Menüs sind jetzt nur ein paar Verzerrungs-Plugins und eine intensive Besprechung des Bumpmap-Plugins übrig geblieben. Ich hoffe, dass ich die geneigte Leserschaft damit nicht vergrault habe. Ich verspreche hoch und heilig, dass wir uns nächstes Mal mit etwas bunteren Sachen beschäftigen. Und ich werde mich bei Gimpressionist – das etwa zehn mal mehr Parameter als Bumpmap hat – zurückhalten und wirklich nur die wichtigsten ansprechen.

Was bleibt als Fazit aus diesem Teil des Workshops? Gimps Plugins sind flexibel – aber mit etwas Kreativität und Kombinierfreude kann man noch deutlich mehr erreichen. Probieren Sie aus, was passiert, wenn Sie verschiedene Plugins miteinander kombinieren. Wenn Sie auf interessante Effekte stoßen, zögern Sie nicht, und mailen Sie mir eine kurze Beschreibung (sbudig@linux-user.de). Gelungene Tricks werde ich an dieser Stelle veröffentlichen.

Der Autor

Dass man zu Bumpmap soviel schreiben kann, hat Simon Budig selbst überrascht. Insbesonders hat er beim Schreiben dieses Artikels das erste Mal verstanden, wie das mit dem Wasserhöhen-Parameter funktioniert…

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare