Reduzir a profundidade de bits de arquivos PNG a partir da linha de comando
-
19-09-2019 - |
Pergunta
O comando ou uma série de comandos que eu poderia executar a partir do CLI para recursivamente atravessar uma árvore de diretórios e reduzir a profundidade de bits de todos os arquivos PNG dentro daquela árvore de 24bpp para 16bpp? Os comandos devem preservar a camada alfa e não deve aumentar o tamanho do arquivo dos PNGs -. Na verdade uma diminuição seria preferível
Eu tenho um sistema baseado OSX à minha disposição e estou familiarizado com o comando find
por isso estou muito mais interessado em localizar um comando do utilitário PNG adequado.
Solução
AFAIK o único formato PNG que suporta a camada de alfa é PNG-24; Reduzir o PNG para outro formato pode exigir especificar uma cor transparente em uma CLUT, que não vai lhe dar o resultado que você deseja.
A partir da lista de recursos no site do PNG:
- 8 e 16 bits por amostra (isto é, 24 e 48 bits) de suporte truecolor
- transparência alfa completo nos modos de 8 e 16 bits, não apenas simples on-off transparência como GIF
... que eu li para dizer que qualquer coisa que não seja PNG-24 ou PNG-48 não suporta transparência alfa total.
Outras dicas
-
Instale Fink
-
Say "fink install imagemagick" (pode ser "ImageMagick")
-
"Converter -depth 16 de idade / foo.png nova / foo.png"
-
Se isso fiz o que você quer, envolvê-la em uma chamada find e ser feliz. Se não, dizer "-help convertido" e RTF-ImageMagick-M. :)
-
Opcional:. "Fink install pngcrush" e de execução que como um segundo passo após a passagem converso