GNU/Linux >> Linux Esercitazione >  >> Linux

Come generare immagini Cmyk tramite la riga di comando in Linux?

Ho un'applicazione che ho sviluppato che sta generando immagini PNG RGB con testo su di esse tramite imageMagic, in questo modo:

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

Funziona alla grande. Tuttavia, devo essere in grado di generare anche output CMYK, le stesse immagini, ma in CMYK anziché RGB. InkScape non può farlo. Ho pensato di poter usare solo un colore CMYK:

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

Tuttavia, l'immagine risultante non è al 100% nera, ma al 100% ciano, 100% magenta, 100% giallo e 0% nero. I colori reali sembrano anche peggio. Questo perché ImageMagic disegna tutto in uno spazio RGB e converte in CMYK:

Il disegno richiede il modello di colore RGBA. Internamente, le immagini vengono memorizzate come RGB(A) o CMY(A)K.

Non riesco a generare immagini RGB e convertirle in CMYK, i colori non saranno corretti. Devono essere CMYK per tutto il percorso. Come posso generare immagini CMYK sotto Linux?

Risposta accettata:

Salva uno script Python come questo:

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

Le dipendenze sono python e la libreria di imaging python. Quindi puoi creare le tue immagini con questo comando:

python cmyktext.py "Josh test" Jtest.pdf

Non dimenticare che cmyk è sottrattivo, quindi (0,0,0,0) è effettivamente bianco. Ovviamente è anche possibile utilizzare qualsiasi tipo di carattere che ti piace, come documentato qui.


Linux
  1. Genera password sulla riga di comando di Linux

  2. Come usare il comando Linux grep

  3. Come usare il comando cronologia in Linux

  4. Avere una mucca sulla riga di comando di Linux

  5. Entra nella riga di comando di Linux

Come controllare l'ortografia dalla riga di comando di Linux con Aspell

Come utilizzare il comando cronologia di Linux

Come utilizzare Nano, l'editor di testo della riga di comando di Linux

Padroneggia la riga di comando di Linux

Procedura:Linux Generale – IPTable di base tramite riga di comando

come generare un indirizzo MAC casuale dalla riga di comando di Linux