Malen nach Zahlen

Bislang mussten Sie die Masken in einem Malprogramm erstellen. Doch auch dies übernimmt Convert. Dazu füttern Sie den Parameter -draw mit Informationen darüber, was er zeichnen soll – etwa ein Rechteck:

$ convert -size 150x100 xc:lightgreen -fill white -stroke black -draw "rectangle 10,20 130,80" rechteck.tiff

Der Parameter xc:lightgreen sorgt dabei für einen hellgrünen Hintergrund, auf den Convert ein weißes Rechteck (-fill white) mit schwarzem Rand (-stroke black) malt. Der Hintergrundparameter dient zugleich als Ersatz für eine Eingabedatei – andernfalls meldet Convert missing an image filename. Die Zahlen hinter rectangle geben die linke obere und untere rechte Ecke des Rechtecks an.

Der Option -draw dürfen Sie sogar mehrere Zeichenanweisungen mitgeben, die Sie am Stück zwischen die Anführungszeichen klemmen:

$ convert -size 150x100 xc:grey -draw "fill red circle 45,50 35,80 fill blue circle 85,50 95,80" kreise.tiff

Dies erzeugt die beiden sich überlagernden Kreise aus Abbildung 3. Deren Koordinaten lassen sich nicht ohne Mühe bestimmen: Die ersten beiden Werte geben die Lage des Kreismittelpunkts an, die zwei danach einen Punkt auf dem Kreisrand. Da die Farben hier für jeden Kreis unterschiedlich ausfallen, positionieren Sie diese innerhalb der Anführungszeichen.

Abbildung 3: Neben Kreisen und Rechtecken kennt Convert noch viele weitere Zeichenbefehle, wie beispielsweise Linien, Punkte und sogar Text.

Die obigen Zeichenanweisungen in eine Kommandozeile zu quetschen artet spätestens bei größeren Gemälden in einen unübersichtlichen Wust von Parametern aus. Deshalb dürfen Sie alles, was hinter -draw in den Anführungszeichen folgt, in eine externe Textdatei auslagern, die Sie etwa kreise.mvg nennen:

$ convert -size 150x100 xc:grey -draw @kreise.mvg kreise.tiff

Auf diese Weise malen Sie recht schnell pixelgenaue Masken. Sie müssen lediglich darauf achten, als Zeichenfarbe Weiß und als Hintergrundfarbe Schwarz zu verwenden.

Logisch

Bislang blieben die Bilder recht flach. Im Zusammspiel mit Masken verlängern Sie die Figuren in dritte Dimension, wie das folgende kleines Logo beweist. Zeichnen Sie zunächst dessen Grundform und verwenden Sie dazu wieder nur schwarze und weiße Farbe: Die Grafik dient zugleich als Maske ihrer selbst. Das Beispiel in Abbildung 4 (links) erzeugt der Befehl aus Zeile 1 in Listing 1. Der Schalter +matte sorgt dafür, dass Convert jegliche Transparenz ignoriert.

In Zeile 2 kommen als nächstes rote Farbe und roter Text ins Spiel. Zunächst dupliziert (+clone) die gerade angelegte Maske und koloriert (-colorize) die Kopie mit roter Farbe (-fill red). Anschließend greift der Befehl wieder zur Maske und stanzt damit das eingefärbte Logo aus. Zum Schluss kommt in die Mitte noch eine Beschriftung (Parameter -annotate). 34 Punkt groß und eine weiß gefüllt, hebt sie sich durch einen schwarzen Rand ab. Die Ziffern hinter -annotate verschieben die Schrift ein wenig aus dem Zentrum, damit sie brav im roten Rechteck bleibt.

Listing 1
$ convert -size 150x100 xc:black -draw "fill white roundrectangle 20,20 125,70 10,10 fill black circle 120,65 135,80 fill white circle 120,65 130,75" -gaussian 1x1 +matte logo_maske.png
$ convert logo_maske.png +clone +matte -compose CopyOpacity -composite -fill red  -colorize 100% -pointsize 34 -fill white -stroke black -gravity Center  -annotate 0x0-10-5 "Logo" logo.png
Abbildung 4: Erst kommt die Maske für das Logo (links), dann folgen Farbe und Schrift (rechts).

LinuxCommunity kaufen

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

Deutschland

Ähnliche Artikel

  • Pixelzauber
    Bei der Nachbearbeitung von Fotos quälen sich viele Anwender mit Gimp herum – dabei verdaut das Konsolentool Imagemagick große Bilderfluten in kürzester Zeit.
  • Profi-Funktionen von ImageMagick nutzen
    Vom Konvertieren von Negativen bis hin zum PDF fürs Fotobuch – mit ImageMagick und ein paar Zeilen Shell-Code meistern Sie jede Aufgaben ruck, zuck auf der Kommandozeile.
  • Am laufenden Band
    Kommandozeilenprogramme zur Bildbearbeitung punkten gegenüber den Tools mit grafischer Oberfläche durch einen entscheidenden Vorteil: Sie bieten vor allem beim Bearbeiten mehrerer Bilder deutlich mehr Flexibilität.
  • Bildbearbeitung mit ImageMagick
    Wer nicht 1000 Urlaubsbilder von Hand skalieren, normieren, beschneiden oder mit Wasserzeichen versehen möchte, für den führt kein Weg an der Werkzeugsammlung ImageMagick vorbei.
  • Bilddaten automatisiert bearbeiten
    Viele Bilder manuell zu bearbeiten erweist sich schnell als Geduldspiel. Mit pfiffigen kleinen Werkzeugen automatisieren Sie solche Arbeiten mühelos.
Kommentare

Infos zur Publikation

LU 08/2016: Multimedia

Digitale Ausgabe: Preis € 5,99
(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!

Aktuelle Fragen

Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...
lidl internetstick für linux mint
rolf meyer, 04.06.2016 14:17, 3 Antworten
hallo zusammen ich benötige eure hilfe habe einen lidl-internetstick möchte ihn auf linux mint i...