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)은 실제로는 흰색이라는 점을 잊지 마세요. 물론 문서에 표시된 대로 원하는 글꼴을 사용할 수 있습니다.여기.

관련 정보