2009-03-10 6 views
16

Se ho un file XCF (o qualsiasi altro supportato da Gimp) come posso convertirlo, ad esempio, in PNG per la visualizzazione o l'ulteriore elaborazione?Convertire XCF e altri file utilizzando la riga di comando con GIMP?

+1

Se si desidera sapere come eseguire questa operazione con GIMP anziché ImageMagick (che ha distrutto le immagini di prova), dare un'occhiata a [questa domanda] (http://stackoverflow.com/questions/5794640/how-to-convert -xcf-to-png-using-gimp-da-la-riga di comando). –

+0

@Laurence Gonsalves, grazie! Questo è quello che cercavo in origine! –

risposta

26

Sono un paio d'anni di ritardo, ma ho pensato che vorrei aggiungere quello che penso è di gran lunga la soluzione migliore: c'è una suite di strumenti denominata Xcftools (su Ubuntu, apt-get install xcftools), che ha un'utility chiamata xcf2png questo funziona perfettamente.

xcf2png image.xcf -o image.png 

Questo è molto meglio che a) utilizza ImageMagick (che come ho detto in un commento precedente è orribilmente rotto), oppure b) mediante Gimp (che ha un linguaggio di scripting estremamente complicato semplicemente per l'esportazione di un'immagine).

5

Credo ImageMagick dovrebbe fare ciò che si vuole (e anche di più)

convert image.xcf image.png 
+0

Dalla mia esperienza, le versioni correnti di ImageMagick hanno un supporto molto bug per XCF. Varie dimensioni degli strati fanno sì che l'immagine risultante sia completamente nera. Ho anche sperimentato bug alfa channel (pixel solidi che appaiono dal nulla). –

+0

Sì, il supporto XCF di ImageMagick è seriamente danneggiato. L'uso di gimp stesso sarebbe un'opzione migliore. –

+2

Questo non ha funzionato per me affatto. Sembra che voglia esportare i layer come immagini separate (ha creato un nome-0.png, name-1.png, per ogni layer), ma ha estratto solo i primi due layer e ha cambiato alpha in binario. Quindi preferirei usare GIMP. Non posso per la vita di me capire quale codice Lisp scrivere ... – mgiuca

2

Molto pochi, se del caso, programmi diversi da GIMP leggere i file XCF. Questo è stato progettato dagli sviluppatori GIMP, il formato non è realmente documentato o supportato come formato di file generico.

Detto questo, esaminare utilizzando GIMP stesso, utilizzando gli argomenti della riga di comando (in particolare l'opzione --batch).

MODIFICA: It looks come se ImageMagick supporti XCF, quindi è probabilmente un percorso più facile se il supporto sembra essere abbastanza buono. Non l'ho provato, e la documentazione non dice molto. Sarei un po 'diffidente.

+0

Sembra che i lavori di conversione di imagemagick. Preferirei usare GIMP poiché sicuramente supporta meglio il suo formato e supporta anche altri formati. Ho provato a guardare GIMP dalla shell, ma è un po 'non intuitivo.Puoi lasciar cadere un esempio o due sulla conversione con GIMP o un link con i documenti? –

0

Se si desidera convertire massa .xcf immagini .png, si potrebbe trovare questo script wrapper più utile:

#! /bin/bash -peux 
exec xcf2png $1 -o ${1%.xcf}.png 

Salva da qualche parte sul vostro cammino come xcftopng (notare il to invece di 2) e chiamarlo in questo modo:

ls *.xcf|xargs -l xcftopng 
3

una soluzione molto buona (! e spiegazioni) possono essere trovati here. In breve, c'è uno schema di alimentazione di script bash/lisp per gimp

#!/bin/bash 
{ 
cat <<EOF 
(define (convert-xcf-to-jpeg filename outfile) 
    (let* (
    (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) 
    (drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE))) 
    ) 
    (file-jpeg-save RUN-NONINTERACTIVE image drawable outfile outfile .9 0 0 0 " " 0 1 0 1) 
    (gimp-image-delete image) ; ... or the memory will explode 
    ) 
) 

(gimp-message-set-handler 1) ; Messages to standard output 
EOF 

for i in *.xcf; do 
    echo "(gimp-message \"$i\")" 
    echo "(convert-xcf-to-jpeg \"$i\" \"${i%%.xcf}.jpg\")" 
done 

echo "(gimp-quit 0)" 
} | gimp -i -b - 

Ma guarda la pagina per la storia completa. Ne vale la pena.

Problemi correlati