Bulk converter arquivos PNG-24 para PNG-8 com melhor qualidade

7

Alguém pode recomendar um bom método de conversão em massa de uma grande quantidade de arquivos PNG-24 para PNG-8 com a menor perda de qualidade possível e mantendo a transparência?

Eu tentei o ImageMagick , mas as imagens resultantes não eram tão nítidas quanto eu gostaria. Usando o Paint.NET , consegui resultados muito melhores, mas não posso processar em massa com essa ferramenta, tanto quanto sei.

As configurações que usei com ImageMagick caso haja melhores opções para usar: convert file.png -depth 4 file-output.png

Eu também tenho jogado com OptiPNG , mas eu não descobri que era para garantir que as imagens de saída fossem PNG- 8.

    
por Gavin 17.02.2011 / 07:55

4 respostas

6

pngquant é exatamente a ferramenta para isso. Ele gera paletas melhor que o ImageMagick .

pngquant --quality=0-90 *.png

Isso converterá todos os arquivos PNG no diretório atual e escolherá automaticamente o número de cores para obter uma qualidade semelhante à JPEG de 90% de qualidade.

(se não aceitar a opção --quality , significa que você tem uma versão de baixa qualidade terrivelmente desatualizada e deve atualizar).

    
por 04.03.2013 / 01:27
2

O GIMP faz um bom trabalho ao otimizar as paletas reduzidas. Tem o modo - lote e pode ser roteirizado. Também tem várias ligações, para que você possa escrever, por exemplo, script do GIMP em Python .

    
por 17.02.2011 / 11:14
1

Me deparei com essa ótima ferramenta em minha pesquisa - RIOT - Ferramenta de otimização de imagem radical

Faz tudo o que eu preciso e permite que você veja a comparação lado-a-lado de antes e depois da imagem de amostra antes de fazer o processo em lote.

Atualizar

Com as versões mais recentes do RIOT, foi introduzido um bug que faz com que algumas imagens sejam produzidas em escala de cinza - link

    
por 17.02.2011 / 21:46
0

Como um substituto para o RIOT eu comecei a usar o optipng através da seguinte linha de comando para processar um diretório inteiro no Windows:

for /r %f in (*.png) do "C:\optipng-0.7.5-win32\optipng.exe" -o3 -strip all "%f"
    
por 02.12.2015 / 03:02