Convertir XCF et d'autres fichiers en ligne de commande avec GIMP?

si j'ai un fichier XCF (ou tout autre pris en charge par Gimp) Comment puis-je le convertir en, par exemple, PNG pour affichage ou traitement ultérieur?

17
demandé sur Ivan Vučica 2009-03-10 17:15:11

5 réponses

j'ai quelques années de retard, mais j'ai pensé ajouter ce que je pense être de loin la meilleure solution: il y a une suite d'outils appelée Xcftools (sur Ubuntu, apt-get install xcftools ), qui a un utilitaire appelé xcf2png qui fait ce travail parfaitement.

xcf2png image.xcf -o image.png

C'est beaucoup mieux que a) en utilisant ImageMagick (qui comme je l'ai dit dans un commentaire ci-dessus est horriblement cassé), ou b) en utilisant Gimp (qui a un langage de script extrêmement compliqué pour simplement l'exportation d'une image).

26
répondu mgiuca 2011-06-12 07:59:45

je suppose que ImageMagick devrait faire ce que vous voulez (et même plus)

convert image.xcf image.png
5
répondu jassuncao 2009-03-10 14:20:21

une très bonne solution (et des explications!) peut être trouvé ici . En bref, il existe un script bash alimentation de régime/lisp pour 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 -

Mais regardez la page pour l'histoire complète. Il en vaut la peine.

3
répondu Dirk 2015-02-06 11:27:05

très peu de programmes autres que GIMP lisent des fichiers XCF. C'est par conception des développeurs de GIMP, le format n'est pas vraiment documenté ou pris en charge comme un format de fichier polyvalent.

cela dit, examinez l'utilisation de GIMP lui-même, en utilisant des arguments en ligne de commande (en particulier l'option --batch ).

EDIT: it looks comme si ImageMagick supporte XCF, donc c'est probablement une route plus facile si le support semblent donc être assez bon. Je ne l'ai pas testé, et la documentation ne dit pas grand chose. Je serais un peu méfiant.

2
répondu unwind 2009-03-10 14:21:45

Si vous voulez convertir en vrac .xcf images .png, vous pourriez trouver ce script d'enrubannage plus utile:

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

enregistrez-le quelque part sur votre chemin comme xcftopng (notez le to au lieu de 2 ) et appelez-le comme ceci:

ls *.xcf|xargs -l xcftopng
0
répondu Robin Green 2014-08-15 19:47:49