A ferramenta de macros do ImageMagick escurece os PNGs (quando apenas tenta redimensionar)

2

Estou tentando usar o comando simples para redimensionar imagens e substituir os originais:

mogrify -resize 80% *

Minhas imagens de origem são PNGs semitransparentes que são em escala de cinza. A operação de redimensionamento funciona, mas torna as imagens mais escuras.

Isso costumava funcionar em uma máquina diferente (Ubuntu 12.04, com ImageMagick 6.6.9-7 2014-03-06 ) e foi quebrado em uma máquina mais nova (Ubuntu 14.04, com ImageMagick 6.7.7-10 2014-03-06 ). A partir desta postagem, a versão quebrada é a versão mais recente do repositório 14.04 do Ubuntu.

Como o ImageMagick é uma ferramenta de script, essa é uma regressão infeliz que deveria ter sido detectada por um teste de unidade. Vou verificar meus fluxos de trabalho de imagem com script.

FYI - aparentemente, a ferramenta de conversão também é afetada.

    
por Jeff Ward 07.04.2015 / 22:10

2 respostas

1

Adicionar -type truecolorAlpha pode resolver esse problema.

É possível encontrar uma explicação relacionada com o tipo de truecolor PNG do arquivo original e o tamanho da paleta diferente antes e depois da operação de redimensionamento.

Essencialmente, foi um erro de um reconhecimento errado de um perfil iCCP do PNG (tipo 6) que foi reconhecido como sRGB e pode ocorrer em situação semelhante.

    
por 08.04.2015 / 07:08
0

Encontrei uma postagem do blog mostrando uma solução alternativa especificando o formato da saída. Para mim, eu queria PNGs semitransparentes, então a melhor opção foi adicionar a opção -define png:format=png32 :

mogrify -define png:format=png32 -resize 80% *

(O blog sugere -define png:format=png24 , mas parece limitar a saída alfa para 1 bit.)

    
por 07.04.2015 / 22:10