Skip to content

OptiPNG: otimizando PNG’s sem perda de qualidade

10/01/2009

Quem trabalha com gráficos para web sabe o quanto é importante otimizar as imagens do seu projeto, seja para acelerar o tempo de carregamento das páginas, seja para cortar o desperdício de banda ou até mesmo para economizar o espaço da hospedagem.

Não há muitas ferramentas boas e gratuitas para fazer esse trabalho. A maioria: (i) é paga, (ii) deixa uma marca d’água “bem bacana” nas imagens, (iii) tem período de testes, ou (iv) pior ainda: está embutida em um editor, que é invariavelmente mais caro/pesado que um simples otimizador. Uma solução livre e, principalmente, de excelente qualidade é o optiPNG.

Ele analisa as imagens e vai fazendo várias tentativas até encontrar a melhor configuração para cada imagem sem que ela perca qualidade. E quando eu digo sem perder qualidade eu falo de lossless! Para isso ele usa os artifícios do formato PNG, que vão desde ajustar a taxa de bits por pixel até indexar imagens em RGB, alcançando reduções de tamanho superiores a 40%, na maioria dos casos.

Para instalar é bem fácil: se usa Linux, procure no repositório de sua distro; se usa Windows, faça o download aqui. Usar é mais fácil ainda: no Linux ou no Windows, abra um terminal e digite:

optipng imagem.png

No Windows você precisa estar na mesma pasta do executável, caso contrário ele não vai conseguir localizá-lo. Se você usa Windows e tem pavor de terminais e telas coloridas (azuis, por exemplo ^^) calma, você pode simular o comando acima arrastando os ícones das imagens até o executável do optiPNG.

Infelizmente o optiPNG só trabalha diretamente com PNG. É até meio óbvio dizer isso, por causa do nome do programa, por isso quando ele tem de otimizar outros formatos de imagem ele gera um PNG otimizado daquela imagem, o que nem sempre funciona. Como todo bom utilitário de terminal ele é cheio de opções, por isso vale a pena dar uma lida no manual dele, mas o comando puro já resolve os problemas da maioria de nós, mortais.

Fonte: manpages do programa, que descobri aqui.

Mais do mesmo.

Anúncios
17 Comentários leave one →
  1. 10/01/2009 11:50

    No Windows você pode simplesmente usar o IrfanView com compressão level 9 que ele optimiza e não perde nada. (alias PNG é lossless, não?)

    Ah, preciso falar com tu criatura.

    • 10/01/2012 20:05

      PNG é lossless sim, mas compressão 9 não é a mesma coisa de programa para programa. OptiPNG é melhor que quase qualquer outro quase sempre (digo isso porque, em raros casos, PNGcrush e outros compactam melhor). Entenda, não é a mesma coisa.

  2. 12/01/2009 18:00

    huhuhu gostei da frase “Se você usa Windows e tem pavor de terminais e telas coloridas (azuis, por exemplo ^^)”… infelizmente no trabalho usamos windows mais tenho um ÓTIMO hábito de usar o CYGWIN….

    Sobre o programa, infelizmente não consegui usar 😀

    optipng -i1 -o7 -v -full -sim a.png

    tentei assim e n teve alteração no tamanho… fiz alguma coisa errada (estou usando windows, sei que esse é o maior erro mais tudo bem, n custa nada perguntar)?

  3. 13/01/2009 15:54

    @Keaton: o IrfanView tem mil e uma utilidades, mas dessa eu não sabia 😛 . Como não uso mais Windows, recomendei o que funciona no Linux. Quer falar comigo? Usa o email.

    @Mayron: Quando eu usei o optipng não coloquei parâmetro nenhum e fiquei satisfeito com o resultado. As opções dele pareceram específicas demais pra mim. A única que eu acho útil é aquela que diz pra ele manter a imagem como RGB e não indexar: o GIMP reclamou do PNG indexado, tive de abrir a imagem, exportar no Inkscape e só aí pude editar no GIMP.

    Já tentou arrastar as imagens pro executável? Funcionou aí?

  4. 13/01/2009 16:37

    estranho… vou fazer uns testes aqui e posto o resultado…

  5. 13/01/2009 20:25

    O post tah legal mas faltou fotos comparativas. 😉

  6. 13/01/2009 23:27

    hahaha, comparei com o do irfanview, o do irfanview ficou maior…. anyway… o que é email mesmo? 😄

    Depois eu lembro o que era.

  7. Gabrielle permalink
    14/01/2009 0:12

    Meu lindo, fiz um teste aqui, e comprimiu 40,4% com o optiPNG e 32,3% com o GIMP.

    Preciso falar contigo, você não me ligou mais depois daquela noite, bjsmeliga

  8. 14/01/2009 10:58

    @Gabrielle: LOL, nem sei quem você é! No mínimo é algum cara que sabe que eu tenho namorada querendo me sacanear.

    PS: Ou o comentário não era pra mim…

  9. 14/01/2009 11:05

    @Perini: Faltou não. 😉 Isso que é legal nele: a compressão é sem perdas. Ele na verdade nem comprime, ele só otimiza mesmo, ajustando quantidade de cores na paleta, indexando RGB’s com poucas cores ou removendo metadados do PNG, como editor que gerou o arquivo, data, JavaScript (no caso do FireWorks) e etc. Ele ainda corrige alguns erros no arquivo da imagem, podendo recuperar um PNG que não abre mais. Pode mandar ele otimizar todos os seus PNG’s sem medo. Não vai haver nenhuma perda nas imagens.

  10. Icaro permalink
    22/03/2009 3:45

    A compactação do gimp lvl 9 comprime mais que o optipng lvl 7

  11. 24/03/2009 22:12

    @Icaro: O ideal é não especificar o tipo de compressão e sim deixar ele escolher. Sempre que eu uso o GIMP coloco a compactação no 9 e ainda assim o OptiPNG diminui bastante o tamanho do PNG do GIMP. Não acho estranho o level 9 do GIMP ganhar para o level 7 do OptiPNG, soa até meio óbvio. Em todo caso, os resultados variam muito de acordo com a imagem.

  12. marcosbitetti permalink
    20/05/2009 12:08

    Sobro o InfanView do primeiro post, compressão nivel 9 é do proprio formato gzip usado no PNG.
    Mas eu achei interesante o programa. muito bom os resultados. Pena q como o autor disse, ele n resolve muito bem em arquivos de outro formato.

  13. 10/01/2012 20:10

    Para os masoquistas (e para deixar o PC fazendo algo de útil), use a seguinte linha de comando, é a que melhor esmaga os bytes:
    optipng -zc1-9 -zm1-9 -zs0-3 -f0-5 (nome da imagem)

    Ah, e no Windows, é só botar o executável em uma pasta do %PATH% (ex. /Windows/System32) e não precisa ter o programa na pasta.

Trackbacks

  1. optiPNG: scripts para automatizar « iCaju
  2. Otimizando imagens para web: optiPNG
  3. Retrospectiva I « iCaju

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: