PNG Redimensionamento e salvamento em lote preservando a transparência

10

Eu tenho mais ou menos 700 imagens PNG. Eu preciso redimensionar e salvá-los. No entanto, também preciso que a transparência deles esteja intacta.

Eu tentei Irfanview, mas isso não funcionou. O GIMP funciona, mas não consigo encontrar uma opção de gravação em lote. Não vou redimensionar manualmente e salvar mais de 700 imagens. Isso é muito tedioso.

Existe algum aplicativo lá fora que faça o trabalho que eu preciso?

    
por Grumpy ol' Bear 19.03.2013 / 09:11

6 respostas

10

Desculpe, você precisará usar a linha de comando. Eu realmente duvido que você possa encontrar um programa GUI para lidar com isso.

Você não especificou qual sistema operacional está usando. No Linux, o comando a seguir redimensionará todos os arquivos .png no diretório atual. Observe que ele substituirá as imagens originais:

##  bash (Linux, OSX):
for i in *png; do convert "$i" -resize 32x32 "$i"; done
##  on Windows:
for %i in (*png); do convert %i -resize 32x32 %i; done

Observe que, para a linha do Windows, se você a estiver usando em um script em vez de na linha de comando, será necessário usar %%i em vez de %i .

Outra opção seria o script do GIMP . Este script redimensionará sua imagem ( fonte ):

(define (batch-resize pattern width height)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))

Salve-o como batch_resize.scm no diretório scripts do GIMP e execute-o da seguinte forma:

gimp -i -b '(batch-resize "*.JPG" 604 453)' -b '(gimp-quit 0)'

ATUALIZAÇÃO:

Acabei de encontrar este post que sugere que o Processador de Lote de David do plugin GIMP deve fazer exatamente o que você deseja. O artigo é sobre o Linux, mas há um link para uma versão do Windows em a página do plugin.

    
por 19.03.2013 / 14:08
4

Acho que a ferramenta ImBatch pode ajudar você na sua tarefa. Funciona bem com o Win7 x64 para mim. É grátis.

    
por 22.03.2013 / 09:43
3

XNConvert tem uma GUI simples e intuitiva para essas tarefas.

XnConvert is a powerful and free cross-platform batch image processor, allowing you to combine over 80 actions. Compatible with 500 formats. It uses the batch processing module of XnViewMP

  • processamento em lote
  • preserva a transparência (testado com um PNG transparente )
  • redimensionamento automático ou predefinido
  • nenhuma instalação é necessária

    
por 11.08.2013 / 03:28
2

Por padrão, usar o FFMpeg é o caminho mais curto :)
Faça o download aqui , coloque-o na pasta com seus arquivos, abra a linha de comando, vá para sua pasta (com cd ) e escreva lá:

mkdir Resized
for %f in (*.png) do ffmpeg -i "%~nxf" -s 32x32 "Resized\%~nxf"

e altere 32x32 com seu tamanho. Ele redimensionará seus PNGs e os colocará na pasta Resized .
Isso fará o trabalho sem arquivo em lotes. No entanto, se você quiser colocar isso no arquivo bat, escreva %% no lugar de % .

Espero que isso ajude você.

    
por 29.04.2014 / 16:21
0

Eu não experimentei o ImBatch ou o XNConvert, que outros mencionaram aqui, mas aqui estão mais algumas sugestões para você:

  • pngquant (uma ferramenta de linha de comando. Eu usei o PNGoo da GUI do Windows incluído na página)
  • Quantizador de cores (muitas possibilidades de ajustar configurações para usar vários algoritmos de pontilhamento etc. Eu nunca consegui que funcionasse também como PNGoo / pngquant, mas isso pode ser por causa do meu conhecimento limitado).
  • TinyPNG.com (o serviço da Web gratuito tem um limite de 20 arquivos, cada um menor que 5 MB)
por 29.04.2014 / 15:32
0

Eu tive esse mesmo problema muitas vezes, e tive o Photoshop instalado na maioria das vezes. Então eu coloquei este script junto usando algumas inspirações do código do outro.

link

Uso

  • Instale o Photoshop CC ou a versão mais recente.
  • Abra o script no Photoshop.
  • Uma caixa de diálogo solicitará que você escolha uma pasta de origem.
  • Uma caixa de diálogo solicitará que você escolha uma pasta de destino.
  • Outra caixa de diálogo perguntará a largura máxima & altura.
  • Outra caixa de diálogo solicitará a largura ideal e a altura ideal.
  • Aguarde enquanto o script abre todos os arquivos PSD ou AI que você tem em sua pasta de origem e salve-os como PNG-24 transparente.
  • Uma caixa de diálogo avisa quando isso é feito.

Referências

Havia mais de dois links para referência, minha reputação atual não permite que eu poste mais. Veja o roteiro original, pois as referências estão documentadas.

    
por 07.08.2015 / 09:52