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.

Foi útil?

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

  1. Instale Fink

  2. Say "fink install imagemagick" (pode ser "ImageMagick")

  3. "Converter -depth 16 de idade / foo.png nova / foo.png"

  4. 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. :)

  5. Opcional:. "Fink install pngcrush" e de execução que como um segundo passo após a passagem converso

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top