Hilfe:Bildbearbeitung in der Kommandozeile (Linux): Unterschied zwischen den Versionen
(→Eine Farbe gezielt umfärben: +Abbschnitt) |
|||
Zeile 1: | Zeile 1: | ||
Bildbearbeitung in der Kommandozeile benötigt schon fortgeschrittene Computerfahrungen, da man wissen sollte, wie die Kommandozeile unter Linux zu bedienen ist. | Bildbearbeitung in der Kommandozeile benötigt schon fortgeschrittene Computerfahrungen, da man wissen sollte, wie die Kommandozeile unter Linux zu bedienen ist. | ||
+ | |||
+ | __INHALTSVERZEICHNIS__ | ||
== Mehrerer Bilder kacheln == | == Mehrerer Bilder kacheln == | ||
Zeile 6: | Zeile 8: | ||
ImageMagick bietet die Möglichkeit das Kommando <code>montage</code> zu nutzen (s. [http://www.imagemagick.org/Usage/montage/ englische Dokumentation (www.imagemagick.org)]). Das Kommando kann wie folgt benutzt werden. | ImageMagick bietet die Möglichkeit das Kommando <code>montage</code> zu nutzen (s. [http://www.imagemagick.org/Usage/montage/ englische Dokumentation (www.imagemagick.org)]). Das Kommando kann wie folgt benutzt werden. | ||
− | < | + | <syntaxhighlight lang="bash"> |
montage -help # die Hilfe anzeigen | montage -help # die Hilfe anzeigen | ||
− | </ | + | </syntaxhighlight> |
Das fertige Komanndo ausführen{{nnbsp}}… | Das fertige Komanndo ausführen{{nnbsp}}… | ||
− | < | + | <syntaxhighlight lang="bash"> |
montage -label '%f' -pointsize 2 -density 300 *.svg \ | montage -label '%f' -pointsize 2 -density 300 *.svg \ | ||
-tile 15x30 \ | -tile 15x30 \ | ||
-geometry '+40+0' \ | -geometry '+40+0' \ | ||
./papirus-emblames.png | ./papirus-emblames.png | ||
− | </ | + | </syntaxhighlight> |
{{Hidden | toggle position=left | toggle text=zeige / verberge | {{Hidden | toggle position=left | toggle text=zeige / verberge | ||
|contentstyle=border-left:1px gray dashed;padding-left:1em; | |contentstyle=border-left:1px gray dashed;padding-left:1em; | ||
|header=''Tipp: Nur echte Dateien verarbeiten (ohne symbolische Links) …'' | |header=''Tipp: Nur echte Dateien verarbeiten (ohne symbolische Links) …'' | ||
|content=Für diesen Fall kann man einfach das <code>*.svg</code> austauschen mit dem Kommando für <code>find</code>, allerdings muss man es dann mit zwei Anführungszeichen umfassen: | |content=Für diesen Fall kann man einfach das <code>*.svg</code> austauschen mit dem Kommando für <code>find</code>, allerdings muss man es dann mit zwei Anführungszeichen umfassen: | ||
− | < | + | <syntaxhighlight lang="bash"> |
montage -label '%f' -pointsize 2 -density 300 \ | montage -label '%f' -pointsize 2 -density 300 \ | ||
`find . -iname '*.svg' -type f` \ | `find . -iname '*.svg' -type f` \ | ||
Zeile 27: | Zeile 29: | ||
-geometry '+40+0' \ | -geometry '+40+0' \ | ||
./papirus-emblames.png | ./papirus-emblames.png | ||
− | </ | + | </syntaxhighlight> |
<code>find</code> sucht also nur Typ „f“, also Datei für das englische ''f''ile. | <code>find</code> sucht also nur Typ „f“, also Datei für das englische ''f''ile. | ||
Oder die Dateien noch sortieren mittels <code>find … {{!}} sort</code>: | Oder die Dateien noch sortieren mittels <code>find … {{!}} sort</code>: | ||
− | < | + | <syntaxhighlight lang="bash"> |
montage -label '%f' -pointsize 2 -density 300 \ | montage -label '%f' -pointsize 2 -density 300 \ | ||
`find . -iname '*.svg' -type f | sort` \ | `find . -iname '*.svg' -type f | sort` \ | ||
Zeile 37: | Zeile 39: | ||
-geometry '+40+0' \ | -geometry '+40+0' \ | ||
./papirus-emblames.png | ./papirus-emblames.png | ||
− | </ | + | </syntaxhighlight> |
}} | }} | ||
Zeile 58: | Zeile 60: | ||
Wichtig hierbei ist, dass man die Transparenz einschaltet (<code>-alpha 'Copy'</code>) und die Hintergrundfarbe angibt (<code>-background '{{Farbbox|<nowiki>#76B82A</nowiki>|#76B82A}}'</code>), wenn man die schwarze Schriftfarbe abändern möchte stellt man dies über <code>-fill '#D3DAE3'</code> ein: | Wichtig hierbei ist, dass man die Transparenz einschaltet (<code>-alpha 'Copy'</code>) und die Hintergrundfarbe angibt (<code>-background '{{Farbbox|<nowiki>#76B82A</nowiki>|#76B82A}}'</code>), wenn man die schwarze Schriftfarbe abändern möchte stellt man dies über <code>-fill '#D3DAE3'</code> ein: | ||
− | < | + | <syntaxhighlight lang="bash"> |
montage -label '%f' -verbose -alpha 'Copy' \ | montage -label '%f' -verbose -alpha 'Copy' \ | ||
-background '#76B82A' \ | -background '#76B82A' \ | ||
Zeile 66: | Zeile 68: | ||
-tile 10x -geometry '+15+0' \ | -tile 10x -geometry '+15+0' \ | ||
./papirus-panel-20180501-bg-76B82A.png | ./papirus-panel-20180501-bg-76B82A.png | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | '''Das Bildergebnis:''' | ||
+ | |||
+ | [[Datei:Papirus-panel-20180501-bg-76B82A-4.png|600px|Gekachelte Bilder eingefärbt mit OSEG grün, mit Beschriftung der Themengestaltung „Papirus“ für Computer-Arbeitsflächen ([https://www.opendesktop.org/s/Gnome/p/1166289/ Papirus bei opendesktop.org])]] | ||
+ | |||
+ | |||
+ | == Eine Farbe gezielt umfärben == | ||
+ | |||
+ | Zusammen mit dem Kommando <code>montage</code> kann man dies z.Z. nicht gleichzeitig erreichen, dass man Bilder zusammenfügt und eine Farbe umfärbt, man verwendet daher das Kommando <code>convert</code>. In folgendem Beispiel soll die Füllfarbe {{Farbbox|hellgelbes OSEG #F0EEB7|#76B82A|#F0EEB7}} sein, die nur da einfärbt, wo die {{Farbbox|graue Farbe #D3DAE3|#76B82A|#D3DAE3}} vorhanden ist. Um in der Farberkennung nicht so streng nur eine einzige Farbe auszutauschen, sondern ein besseres Aussehen zu erzielen, darf die graue Suchfarbe 15{{nnbsp}}% Farbabweichung mehr haben (<code>-fuzz 15%</code>) und wird trotzdem ins hellgelb umgefärbt. | ||
+ | |||
+ | convert ./papirus-panel-20180501-bg-76B82A-4.png \ | ||
+ | -fuzz 15% \ | ||
+ | -fill '{{Farbbox|<nowiki>#F0EEB7</nowiki>|#76B82A|#F0EEB7}}' -opaque '{{Farbbox|<nowiki>#D3DAE3</nowiki>|#76B82A|#D3DAE3}}' \ | ||
+ | ./papirus-panel-20180501-bg-76B82A-fg-F0EEB7-4.png | ||
+ | |||
+ | '''Hinweis:''' das Wichtigste ist diese Reihenfolge der Optionen (<code>-fuzz -fill -opaque</code>), falls anders vertauscht, wird es unerwartete Ergebnisse liefern. | ||
'''Das Bildergebnis:''' | '''Das Bildergebnis:''' | ||
− | [[Datei:Papirus-panel-20180501-bg-76B82A-4.png|600px|Gekachelte Bilder eingefärbt mit OSEG grün, | + | [[Datei:Papirus-panel-20180501-bg-76B82A-fg-F0EEB7-4.png|600px|Gekachelte Bilder eingefärbt mit OSEG grün, und hellgelb eingfärbten Symbolen, aus der Themengestaltung „Papirus“ für Computer-Arbeitsflächen ([https://www.opendesktop.org/s/Gnome/p/1166289/ Papirus bei opendesktop.org])]] |
[[Kategorie: Hilfe]] | [[Kategorie: Hilfe]] |
Version vom 18. Mai 2018, 14:08 Uhr
Bildbearbeitung in der Kommandozeile benötigt schon fortgeschrittene Computerfahrungen, da man wissen sollte, wie die Kommandozeile unter Linux zu bedienen ist.
Mehrerer Bilder kacheln
ImageMagick bietet die Möglichkeit das Kommando montage
zu nutzen (s. englische Dokumentation (www.imagemagick.org)). Das Kommando kann wie folgt benutzt werden.
montage -help # die Hilfe anzeigen
Das fertige Komanndo ausführen …
montage -label '%f' -pointsize 2 -density 300 *.svg \
-tile 15x30 \
-geometry '+40+0' \
./papirus-emblames.png
Für diesen Fall kann man einfach das *.svg
austauschen mit dem Kommando für find
, allerdings muss man es dann mit zwei Anführungszeichen umfassen:
montage -label '%f' -pointsize 2 -density 300 \
`find . -iname '*.svg' -type f` \
-tile 15x30 \
-geometry '+40+0' \
./papirus-emblames.png
find
sucht also nur Typ „f“, also Datei für das englische file.
Oder die Dateien noch sortieren mittels find … | sort
:
montage -label '%f' -pointsize 2 -density 300 \
`find . -iname '*.svg' -type f | sort` \
-tile 15x30 \
-geometry '+40+0' \
./papirus-emblames.png
Das Bildergebnis:
Die Erklärungen:
- bezeichne die Bilder mit dem Dateinamen (hier
%f
für englisch file) mittels-label '%f'
- setze die Punktgröße der Schrift neu
-pointsize 2
(etwas Probieren nötig im Versuch-und-Irrtum-Modus ;-) - erhöhe die Auflösung der Teilbilder
-density 300
(theoretisch 300 DPI, dots per inch=Punkte pro Zoll) - kachel und begrenze das Endbild auf 15 Spalten × 30 Zeilen:
-tile 15x30
(falls nicht alle Bilder in 15×30 hineinpassen, erzeugt ImageMagick automatisch nummerierte Dateien: …-0.png, …-1.png) - verändere den Außenrand der Teilbilder:
-geometry '+40+0'
fügt seitlich/horizontal 40 px aber oben und unten/vertikal 0 px - um noch mehr Prozess-Informationen zu erhalten füge am Anfang die Option
-verbose
hinzu
Hinweis: die zentrale Einstelloption ist hier -density
. Man muss etwas ausprobieren um die gewünschte Dateigröße und Auflösung zu erhalten, damit alles gut sichtbar wird und das Endbild nicht übermäßig groß wird.
Den Hintergrund einfärben
Wichtig hierbei ist, dass man die Transparenz einschaltet (-alpha 'Copy'
) und die Hintergrundfarbe angibt (-background '#76B82A'
), wenn man die schwarze Schriftfarbe abändern möchte stellt man dies über -fill '#D3DAE3'
ein:
montage -label '%f' -verbose -alpha 'Copy' \
-background '#76B82A' \
-density 300 \
-pointsize 2 -fill '#D3DAE3' \
`find . -iname '*.svg' -type f | sort` \
-tile 10x -geometry '+15+0' \
./papirus-panel-20180501-bg-76B82A.png
Das Bildergebnis:
Eine Farbe gezielt umfärben
Zusammen mit dem Kommando montage
kann man dies z.Z. nicht gleichzeitig erreichen, dass man Bilder zusammenfügt und eine Farbe umfärbt, man verwendet daher das Kommando convert
. In folgendem Beispiel soll die Füllfarbe hellgelbes OSEG #F0EEB7 sein, die nur da einfärbt, wo die graue Farbe #D3DAE3 vorhanden ist. Um in der Farberkennung nicht so streng nur eine einzige Farbe auszutauschen, sondern ein besseres Aussehen zu erzielen, darf die graue Suchfarbe 15 % Farbabweichung mehr haben (-fuzz 15%
) und wird trotzdem ins hellgelb umgefärbt.
convert ./papirus-panel-20180501-bg-76B82A-4.png \ -fuzz 15% \ -fill '#F0EEB7' -opaque '#D3DAE3' \ ./papirus-panel-20180501-bg-76B82A-fg-F0EEB7-4.png
Hinweis: das Wichtigste ist diese Reihenfolge der Optionen (-fuzz -fill -opaque
), falls anders vertauscht, wird es unerwartete Ergebnisse liefern.
Das Bildergebnis: