GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo generar imágenes CMYK a través de la línea de comandos en Linux?

Tengo una aplicación que he desarrollado que genera imágenes RGB PNG con texto en ellas a través de imageMagic, así:

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

Está funcionando muy bien. Sin embargo, también necesito poder generar una salida CMYK, las mismas imágenes, pero en CMYK en lugar de RGB. InkScape no puede hacer esto. Pensé que podría usar un color CMYK:

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

Sin embargo, la imagen resultante no es 100 % negra, sino 100 % cian, 100 % magenta, 100 % amarilla y 0 % negra. Los colores reales se ven aún peor. Esto se debe a que ImageMagic hace todos los dibujos en un espacio RGB y convierte a CMYK:

El dibujo requiere el modelo de color RGBA. Internamente, las imágenes se almacenan como RGB(A) o CMY(A)K.

No puedo generar imágenes RGB y convertirlas a CMYK, los colores no serán los correctos. Deben ser CMYK en todo su recorrido. ¿Cómo puedo generar imágenes CMYK en Linux?

Respuesta aceptada:

Guarde una secuencia de comandos de Python como esta:

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

Las dependencias son python y la biblioteca de imágenes de python. Entonces puedes crear tus imágenes con este comando:

python cmyktext.py "Josh test" Jtest.pdf

No olvide que cmyk es sustractivo, por lo que (0,0,0,0) es en realidad blanco. Por supuesto, también es posible usar cualquier fuente que desee, como se documenta aquí.


Linux
  1. Cómo usar el comando grep de Linux

  2. 8 consejos para la línea de comandos de Linux

  3. Cómo instalar software desde la línea de comandos de Linux

  4. Cómo extraer el archivo tar.gz en Linux usando la línea de comandos

  5. Cómo eliminar un usuario en Linux usando la línea de comandos

Cómo revisar la ortografía en la línea de comandos de Linux con Aspell

Cómo usar el comando de historial de Linux

Cómo usar Nano, el editor de texto de línea de comandos de Linux

Domina la línea de comandos de Linux

Cómo:Linux General - IPTables básicos a través de la línea de comandos

¿Cómo puedo copiar una carpeta desde la línea de comandos de Linux?