GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erstelle ich Cmyk-Bilder über die Befehlszeile unter Linux?

Ich habe eine Anwendung, die ich entwickelt habe und die RGB-PNG-Bilder mit Text darauf über imageMagic generiert, etwa so:

convert -size 1000x1000 -density 300 xc:white -pointsize 24 \
  -fill "rgb(0,0,0)" -annotate +500+500 'Josh Test' Jtest.png

Es funktioniert großartig. Ich muss jedoch in der Lage sein, auch eine CMYK-Ausgabe zu generieren, dieselben Bilder, jedoch in CMYK und nicht in RGB. InkScape kann das nicht. Ich dachte, ich könnte einfach eine CMYK-Farbe verwenden:

convert -colorspace cmyk -density 300 xc:white -pointsize 24 \
  -fill "cmyk(0,0,0,0)" -annotate +500+500 'Josh Test' Jtest.pdf

Das resultierende Bild ist jedoch nicht 100 % Schwarz, sondern 100 % Cyan, 100 % Magenta, 100 % Gelb und 0 % Schwarz. Echte Farben sehen noch schlimmer aus. Dies liegt daran, dass ImageMagic alle Zeichnungen in einem RGB-Raum durchführt und in CMYK konvertiert:

Zum Zeichnen ist das RGBA-Farbmodell erforderlich. Intern werden Bilder als RGB(A) oder CMY(A)K gespeichert.

Ich kann keine RGB-Bilder erzeugen und in CMYK konvertieren, die Farben werden nicht stimmen. Sie müssen durchgehend CMYK sein. Wie kann ich CMYK-Bilder unter Linux generieren?

Akzeptierte Antwort:

Speichern Sie ein Python-Skript wie dieses:

#!/usr/bin/python
from PIL import Image, ImageFont, ImageDraw
import sys

im = Image.new('CMYK', (1000,1000), (0, 0, 0, 255))

f = ImageFont.load_default()
d = ImageDraw.Draw(im)
d.text((500, 500), sys.argv[1], font = f, fill = (0, 0, 0, 0))
del d

im.save(sys.argv[2])

Abhängigkeiten sind Python und die Python-Imaging-Bibliothek. Dann können Sie Ihre Bilder mit diesem Befehl erstellen:

python cmyktext.py "Josh test" Jtest.pdf

Vergessen Sie nicht, dass cmyk subtraktiv ist, also ist (0,0,0,0) eigentlich weiß. Natürlich ist es auch möglich, beliebige Schriftarten zu verwenden, wie hier dokumentiert.


Linux
  1. Generieren Sie Passwörter auf der Linux-Befehlszeile

  2. So verwenden Sie den Linux-Grep-Befehl

  3. Wie identifiziere ich die bestimmte Linux-Variante über die Befehlszeile?

  4. Wie kann ich einen Ordner über die Linux-Befehlszeile kopieren?

  5. wie man eine zufällige MAC-Adresse über die Linux-Befehlszeile generiert

So prüfen Sie die Rechtschreibung auf der Linux-Befehlszeile mit Aspell

So verwenden Sie den Linux-Verlaufsbefehl

So verwenden Sie Nano, den Linux-Befehlszeilen-Texteditor

Meistern Sie die Linux-Befehlszeile

Linux – Wie bootet man Puppy Linux Slacko in die Kommandozeile?

Gewusst wie:Linux Allgemein – Grundlegende IPTables über die Befehlszeile