LinuxでコマンドラインでCMYKイメージを生成する方法は?

LinuxでコマンドラインでCMYKイメージを生成する方法は?

以下のように、imageMagicを通じてテキストを含むRGB PNG画像を生成するアプリケーションを開発しました。

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

良い結果。ただし、同じイメージですが、RGBではなくCMYKでCMYK出力を生成することもできます。 InkScapeではこれを行うことはできません。 CMYKの色しか使えないようです。

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

ただし、結果の画像は100%黒ではなく、100%ターコイズ、100%マゼンタ、100%イエロー、0%ブラックです。実際の色はより悪く見えますね。このためですImageMagicはRGB空間ですべての描画を実行し、CMYKに変換します。:

描画にはRGBAカラーモデルが必要です。内部的には、画像はRGB(A)またはCMY(A)Kとして保存されます。

RGBイメージを作成してCMYKに変換することはできません。色が正しくありません。全体的にCMYKでなければなりません。 LinuxでCMYKイメージを生成するには?

ベストアンサー1

次のようにPythonスクリプトを保存します。

#!/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])

依存関係はPythonとPythonイメージングライブラリです。その後、次のように画像を作成できます。

python cmyktext.py "Josh test" Jtest.pdf

cmykは減算なので(0,0,0,0)は実際には白であることを忘れないでください。もちろん、文書に示されているように、必要なフォントを使用できます。ここ

おすすめ記事