2013-08-14 29 views
10

Ho un pdf cmyk che sto cercando di convertire in un file jpeg o png RGB ma i colori rimangono molto simili a quello della versione CMYK (rispetto a come Photoshop lo fa)imagemagick convertire CMYK pdf in RGB jpeg o PNG e colori preseerve

Sto provando il seguente comando, ma i colori cambiano drasticamente da un colore rosso al rosso neon quasi luminoso e così via.

Ecco il comando

convert cmykpdf.pdf +profile icc -profile AdobeRGB1998.icc -colorspace sRGB jpegtesting.jpg 

Tutte le idee? o pensieri su come farlo. Ho provato a salvarlo come PNG e lo stesso problema si è verificato e ho provato a cambiare sRGB a solo RGB

NOTA: non necessariamente deve essere RGB jpeg può anche essere CMYK jpeg ma ho solo bisogno che sia visualizzato nel il browser in modo corretto e so Safari non visualizza i file JPEG CMYK correttamente

il mio obiettivo è quello di visualizzare solo un IMG nel browser che mostra il colore corretto e niente corretta risoluzione pixilated

+0

C'è un sacco di voodoo coinvolti con la conversione da CMYK a RGB. Photoshop è il gold standard in quest'area, non mi aspetto che un'utilità gratuita si avvicini. –

risposta

4

si potrebbe provare questo:

convert -negate -colorspace RGB srcfile.jpg outputfile.jpg 

Fammi sapere se funziona!

+1

Non funziona - l'uscita è invertita. – Refiner

+1

Ops .. scusa .. prova a rimuovere "-negate" – Mackelito

+1

Sfortunatamente, se "negare" è necessario sembra essere un po 'casuale. – Synchro

14

La soluzione è abbastanza semplice, al giorno d'oggi non c'è nulla di voodoo o speciale nel CMYK di RGB di Photoshop. Imagemagick utilizza il motore a colori LCMS, che fa il suo lavoro bene.

Ma prima è necessario modificare il file delegates.xml nella directory di IM. Trovare la linea con delegate decode="ps:cmyk" e inserire -dUseCIEColor=false verso la fine, in modo che appaia così:

<delegate decode="ps:cmyk" restrain="True" command="&quot;@[email protected]&quot; -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPSCrop -dAlignToPixels=0 -dGridFitTT=2 &quot;-sDEVICE=pamcmyk32&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; -dUseCIEColor=false &quot;-f%s&quot; &quot;-f%s&quot;"/> 

E 'necessario perché altrimenti Ghostscript (prima di tornare immagine pam a ImageMagick) si esibiranno CMYK a CMYK conversione (assumendo DeviceCMYK da CIEbased CMYK), e probabilmente non lo vorrai, poiché i colori cambieranno considerevolmente.

Quindi provare questo comando:

convert -density 144 cmyk.pdf -profile USWebCoatedSWOP.icc -resample 72 -profile "sRGB Color Space Profile.icm" -quality 100 out.jpg 

Qui diamo cmyk.pdf (anzi, un'immagine temporanea pam che GS torna a IM), assegnare il profilo CMYK (proprio come si fa in Photoshop, quando si apre un file o fallo esplicitamente, quindi scegli il profilo che ti descrive come meglio inserire CMYK), convertilo in profilo sRGB (perché non penso che tu voglia AdobeRGB come spazio colore delle immagini per Internet) e salvalo in jpeg. Riduci i parametri di qualità secondo necessità.

Un altro trucco qui è l'anti-aliasing manuale aggiuntivo - annotare la risoluzione intermedia di 144 dpi e 72 dpi finali. Perché non penso che l'anti-aliasing di Ghostscript con -dGraphicsAlphaBits=4 sia equivalente all'anti-aliasing di Photoshop.

Il risultato di questo comando sembra esattamente uguale a quello convertito in Photoshop.

+0

Sarebbe bello da notare dove hai preso i file icc e icm –

+0

In questo modo, sto ricevendo lcms: Errore # 12288; Profilo di memoria danneggiato Qualche idea? –

+0

@Air, verificando ora su Ubuntu 14.04 (prima era un po 'di XP) e, con i miei file di test, funziona come ho scritto. Hai ancora problemi? I profili ICC sono quelli "standard". Per la sorgente CMYK, è necessario scegliere ciò che meglio descrive le condizioni di stampa previste, ad es. 'USWebCoatedSWOP.icc' può essere prelevato dal sito di Adobe, ad esempio, [google result] (http://www.adobe.com/support/downloads/detail.jsp?ftpID=4077). 'sRGB.icc' è lo standard RGB e dovrebbe essere già installato ad es. in '/ usr/share/color/icc/colord'. Per quanto riguarda gli errori, sia 'IM' che' GS' sono entrambi attivamente sviluppati, quali versioni stai usando? – user2846289

1

Sulla base delle risposte precedenti, sono finalmente riuscito a mantenere i colori naturali da un PDF CMYK ad un RGB png semplicemente usando:

convert -colorspace sRGB cmyk.pdf rbg.png