Question

J'ai une série de .xcf images que je veux enregistrer en tant que .png. Je peux ouvrir chaque fichier et enregistrer en tant que .png Mais comme il y a beaucoup d'images, cela prendrait beaucoup de temps.

Existe-t-il un moyen de convertir toutes les images à la fois, ou une autre façon dont je dois passer moins de temps sur ce travail?

Merci en avance.

Pas de solution correcte

Autres conseils

J'utiliserais la console Python à l'intérieur de GIMP pour cela - si vous êtes sous Windows, jetez un œil à l'installation de l'extension Python pour GIMP 2.6 (sur Linux, elle est pas non allée ou est une question d'installation du gimp-python Package, probablement le même sur Mac OS)

Depuis la console Python de GIMP, vous avez accès à une énorme API GIMP que vous pouvez vérifier en regardant la boîte de dialogue Help-> Procédure du navigateur - en plus d'avoir toutes les autres fonctionnalités de Python, y compris le fichier et la manipulation de strigne.

Celui que vous êtes = dans la console Python-Fu, il s'agit de faire quelque chose comme ceci:

import glob
for fname in glob.glob("*.xcf"):
    img = pdb.gimp_file_load(fname, fname)
    img.flatten()
    new_name = fname[:-4] + ".png"
    pdb.gimp_file_save(img, img.layers[0], new_name, new_name)

(Cela fonctionnera sur le répertoire que GIMP utilise par défaut - concaténez le répertoire déçu des fichiers pour travailler sur d'autres réseaux).

Si vous en avez besoin plus d'une fois, jetez un œil aux plugins d'exemples qui sont livrés avec GIMP-Python et collez le code ci-dessus comme le noyau pour un plug-in Python pour GIMP pour votre propre usage.

Eh bien, si vous avez imagemagick Installé, vous pouvez le faire comme:

mogrify -format png *.xcf

Cela les convertit automatiquement dans le même répertoire. Également lire man mogrify ou ca pour d'autres options.

Vous pouvez rapidement créer un plugin appelé SAVEALL. Enregistrez ce code dans un fichier avec une extension .scm (par exemple SAVEALL.SCM):

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
; This program is free software; you can redistribute it and/or modify 
; it under the terms of the GNU General Public License as published by 
; the Free Software Foundation; either version 2 of the License, or 
; (at your option) any later version. 
; 
; This program is distributed in the hope that it will be useful, 
; but WITHOUT ANY WARRANTY; without even the implied warranty of 
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
; GNU General Public License for more details. 

(define (script-fu-save-all-images) 
  (let* ((i (car (gimp-image-list))) 
         (image)) 
    (while (> i 0) 
      (set! image (vector-ref (cadr (gimp-image-list)) (- i 1))) 
      (gimp-file-save RUN-NONINTERACTIVE 
                      image 
                      (car (gimp-image-get-active-layer image)) 
                      (car (gimp-image-get-filename image)) 
                      (car (gimp-image-get-filename image))) 
      (gimp-image-clean-all image) 
      (set! i (- i 1))))) 

(script-fu-register "script-fu-save-all-images" 
 "<Image>/File/Save ALL" 
 "Save all opened images" 
 "Saul Goode" 
 "Saul Goode" 
 "11/21/2006" 
 "" 
 ) 

Mettez le fichier dans le dossier des plugins avec la même extension (sur Windows, il s'agit de C: Program Files GIMP 2 Share GIMP 2.0 scripts).

Ensuite, vous n'avez même pas à redémarrer l'application. Filtres Menu -> Script-fu -> Mettre à jour les scripts. Vous aurez Sauver tous Article dans le Dossier menu (tout en bas). Cela fonctionne rapidement pour moi.

Ce script vient de ici.

Il y a aussi une autre script, mais je ne l'ai pas testé moi-même.

{
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This program is free software; you 
; can redistribute it and/or modify 
; it under the terms of the GNU 
; General Public License as published 
; by the Free Software Foundation; 
; either version 2 of the License, or 
; (at your option) any later version. 
; 
; This program is distributed in the
; hope that it will be useful, 
; but WITHOUT ANY WARRANTY;
; without even the implied warranty of 
; MERCHANTABILITY or FITNESS 
; FOR A PARTICULAR PURPOSE.  
; See the GNU General Public License
;  for more details. 

(define (script-fu-save-all-images inDir inSaveType 
inFileName inFileNumber) 
  (let* (
          (i (car (gimp-image-list)))
          (ii (car (gimp-image-list))) 
          (image)
          (newFileName "")
          (saveString "")
          (pathchar (if (equal? 
                 (substring gimp-dir 0 1) "/") "/" "\\"))
        )
    (set! saveString
      (cond 
        (( equal? inSaveType 0 ) ".jpg" )
        (( equal? inSaveType 1 ) ".bmp" )
        (( equal? inSaveType 2 ) ".png" )
        (( equal? inSaveType 3 ) ".tif" )
      )
    ) 
    (while (> i 0) 
      (set! image (vector-ref (cadr (gimp-image-list)) (- i 1)))
      (set! newFileName (string-append inDir 
              pathchar inFileName 
              (substring "00000" (string-length 
              (number->string (+ inFileNumber i))))
              (number->string (+ inFileNumber i)) saveString))
      (gimp-file-save RUN-NONINTERACTIVE 
                      image
                      (car (gimp-image-get-active-layer image))
                      newFileName
                      newFileName
      ) 
      (gimp-image-clean-all image) 
      (set! i (- i 1))
    )
  )
) 

(script-fu-register "script-fu-save-all-images" 
 "<Image>/File/Save ALL As" 
 "Save all opened images as ..." 
 "Lauchlin Wilkinson (& Saul Goode)" 
 "Lauchlin Wilkinson (& Saul Goode)" 
 "2014/04/21" 
 ""
 SF-DIRNAME    "Save Directory" ""
 SF-OPTION     "Save File Type" (list "jpg" "bmp" "png" "tif")
 SF-STRING     "Save File Base Name" "IMAGE"
 SF-ADJUSTMENT "Save File Start Number" 
      (list 0 0 9000 1 100 0 SF-SPINNER)
 )

}

Ce script fonctionne parfaitement dans gimp 2.8 Windows 7.

Uchlin Wilkinson Enregistrez toutes les images ouvertes de GIMP.

À portée de main si vous numérisez dans de nombreuses images et que vous voulez juste les exporter tous en une seule fois. Il est basé sur un script de Saul Goode, étendu pour inviter le nom de base d'image, le répertoire, etc.

Enregistrez-le en tant que SAVEALL.SCM dans votre répertoire GIMP Scripts. Par exemple ~ / .gimp-2.8 / scripts /

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This program is free software; you 
; can redistribute it and/or modify 
; it under the terms of the GNU 
; General Public License as published 
; by the Free Software Foundation; 
; either version 2 of the License, or 
; (at your option) any later version. 
; 
; This program is distributed in the
; hope that it will be useful, 
; but WITHOUT ANY WARRANTY;
; without even the implied warranty of 
; MERCHANTABILITY or FITNESS 
; FOR A PARTICULAR PURPOSE.  
; See the GNU General Public License
;  for more details. 

(define (script-fu-save-all-images inDir inSaveType 
inFileName inFileNumber) 
  (let* (
          (i (car (gimp-image-list)))
          (ii (car (gimp-image-list))) 
          (image)
          (newFileName "")
          (saveString "")
          (pathchar (if (equal? 
                 (substring gimp-dir 0 1) "/") "/" "\\"))
        )
    (set! saveString
      (cond 
        (( equal? inSaveType 0 ) ".jpg" )
        (( equal? inSaveType 1 ) ".bmp" )
        (( equal? inSaveType 2 ) ".png" )
        (( equal? inSaveType 3 ) ".tif" )
      )
    ) 
    (while (> i 0) 
      (set! image (vector-ref (cadr (gimp-image-list)) (- i 1)))
      (set! newFileName (string-append inDir 
              pathchar inFileName 
              (substring "00000" (string-length 
              (number->string (+ inFileNumber i))))
              (number->string (+ inFileNumber i)) saveString))
      (gimp-file-save RUN-NONINTERACTIVE 
                      image
                      (car (gimp-image-get-active-layer image))
                      newFileName
                      newFileName
      ) 
      (gimp-image-clean-all image) 
      (set! i (- i 1))
    )
  )
) 

(script-fu-register "script-fu-save-all-images" 
 "<Image>/File/Save ALL As" 
 "Save all opened images as ..." 
 "Lauchlin Wilkinson (& Saul Goode)" 
 "Lauchlin Wilkinson (& Saul Goode)" 
 "2014/04/21" 
 ""
 SF-DIRNAME    "Save Directory" ""
 SF-OPTION     "Save File Type" (list "jpg" "bmp" "png" "tif")
 SF-STRING     "Save File Base Name" "IMAGE"
 SF-ADJUSTMENT "Save File Start Number" 
      (list 0 0 9000 1 100 0 SF-SPINNER)
 )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top