Saya memiliki aplikasi yang telah saya kembangkan yang menghasilkan gambar RGB PNG dengan teks di atasnya melalui imageMagic, seperti:
convert -size 1000x1000 -density 300 xc:white -pointsize 24 \
-fill "rgb(0,0,0)" -annotate +500+500 'Josh Test' Jtest.png
Ini bekerja dengan baik. Namun saya harus dapat menghasilkan output CMYK juga, gambar yang sama, tetapi dalam CMYK daripada RGB. InkScape tidak dapat melakukan ini. Saya pikir saya bisa menggunakan warna CMYK:
convert -colorspace cmyk -density 300 xc:white -pointsize 24 \
-fill "cmyk(0,0,0,0)" -annotate +500+500 'Josh Test' Jtest.pdf
Namun gambar yang dihasilkan tidak 100% hitam, melainkan 100% cyan, 100% magenta, 100% kuning, dan 0% hitam. Warna yang sebenarnya terlihat lebih buruk. Ini karena ImageMagic melakukan semua gambar dalam ruang RGB dan mengonversi ke CMYK:
Menggambar membutuhkan model warna RGBA. Secara internal, gambar disimpan sebagai RGB(A) atau CMY(A)K.
Saya tidak dapat menghasilkan gambar RGB dan mengonversi ke CMYK, warnanya tidak akan tepat. Mereka harus CMYK sepanjang jalan. Bagaimana cara menghasilkan gambar CMYK di linux?
Jawaban yang Diterima:
Simpan skrip python seperti ini:
#!/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])
Dependensinya adalah python dan perpustakaan pencitraan python. Kemudian Anda dapat membuat gambar Anda dengan perintah ini:
python cmyktext.py "Josh test" Jtest.pdf
Jangan lupa bahwa cmyk adalah subtraktif, jadi (0,0,0,0) sebenarnya putih. Tentu saja, Anda juga dapat menggunakan font apa pun yang Anda suka, seperti yang didokumentasikan di sini.