Windows: Lote imagens de processamento com o GIMP e salvá-las em novos arquivos

3

Na minha máquina windows, quero usar o GIMP para modificar todos os arquivos PNG ( filename.png ) no diretório atual e salvar o arquivo de saída no subdiretório out/filename.png . O processamento necessário é:

  • adicionando cantos arredondados
  • adicionando sombra projetada
  • redimensionando a imagem

Para isso, tentei usar o seguinte script e colocá-lo em C:\Program files\GIMP\share\gimp.0\scripts :

(define (script-fu-shadowcorners infile outfile width height)
  (let* ((image (car (file-png-load 1 infile infile)))
         (drawable (car (gimp-image-active-drawable image)))
        )
    (script-fu-round-corners image drawable 10 FALSE 8 8 30 FALSE FALSE)
    (script-fu-drop-shadow image drawable 8 8 12 '(0 0 0) 45 TRUE)
    (gimp-image-scale image width height)
    (gimp-file-save RUN-NONINTERACTIVE image drawable outfile outfile)
  )
)

(script-fu-register "script-fu-shadowcorners" "" "" "" "" "" "RGB*" SF-FILENAME "Infile" "infile.png" SF-FILENAME "Outfile" "outfile.png")

Depois, tentei chamar esse script com o seguinte arquivo em lote:

for %%x in (*.png) do "C:\Program files\GIMP\bin\gimp-2.8" -i -b "(script-fu-shadowcorners \"%%x\" \"newfolder\%%x\")"

Não funcionou. Ele sempre diz que não conseguiu encontrar os arquivos, é muito lento e não há saída.

Agora que o comando CMD funciona, pelo menos, o problema não está completamente resolvido. No CMD, aparece uma linha após o meu comando em lote que substitui o caractere curinga %%x pelo primeiro nome de arquivo - mas apenas o primeiro. No diretório de saída, não consigo encontrar outros arquivos além do primeiro. No entanto, a saída do Gimp é batch command executed successfully .

O que estou fazendo de errado? Pode me ajudar? Muito obrigado!

    
por caw 15.01.2013 / 18:39

1 resposta

4

A solução tinha duas partes:

Parte 1: A sintaxe do comando em lote estava errada, especialmente as aspas precisam ser configuradas corretamente:

for %%x in (*.png) do "C:\Program files\GIMP\bin\gimp-2.8" -i -b "(script-fu-functionname \"%%x\"

Partes 2: Gimp sempre esperando "pressionar qualquer tecla" deveu-se ao binário errado usado: Em vez de gimp-2.8 , gimp-console-2.8 deve ser usado.

Obrigado, Karan , por sugerir as soluções.

    
por 17.01.2013 / 02:36