Pergunta

Eu tenho um pequeno script que eu uso para redimensionar todas as imagens em um diretório. Eu executar este script em cygwin e usa "Convert" para fazer o redimensionamento da imagem. As imagens mudam sua resolução muito bem, mas eu estou tendo problemas com tamanhos de arquivo depois que o script é executado.

Eu normalmente usar esse script para redimensionar imagens despejado para fora de uma apresentação do PowerPoint para uso em um aplicativo de apresentação web pouco que eu escrevi. Quando eu despejar gif do e executar o script, os arquivos mais do que o dobro de tamanho (ex 8KB para 18KB;. 14KB para 50KB)

As linhas pertinentes do script são os seguintes:

/usr/bin/convert $holdfile -thumbnail x480 temp.GIF
mv temp.GIF $i

Existe um interruptor para evitar que os tamanhos de arquivo de crescer tanto? Eu sei que os tamanhos dos arquivos não são enormes, mas quando tenho um bom número de pessoas se conectando a uma apresentação ou os usuários de conexão discada inevitáveis, eu só quero fazer sua experiência tão agradável quanto possível.

Edit:. Eu deveria ter especificado que os arquivos começam com uma resolução de 960 x 720px e estão sendo redimensionada para 640px x 480px

Foi útil?

Solução

Bem, isso pode acontecer se convertido comprime pior do que os arquivos de entrada. Desde o mesmo esquema de compressão exato pode produzir resultados diferentes dependendo de como bom o código de compressão é que isso pode acontecer.

Outra, mais provável opção aqui seria provavelmente que você está redimensionando as imagens que provavelmente será feito com redimensionamento bicubic. Isso faz com que as bordas de texto ou desenhos para se tornar um pouco embaçada pouco. Isso significa que eles consomem mais cores e compressa pior.

Também provável seria que as imagens originais usar um paleta de cores otimizada, talvez apenas com algumas cores e após o redimensionamento eles precisam dos plenos 256 cores que são suportados por um único quadro GIF, devido à suavização feito pelo redimensionamento.

Em qualquer caso, você provavelmente deve ver um melhor desempenho utilizando PNG ao invés de GIF. PNG foi concebido como um substituto moderno para GIF e nenhum navegador (gráfica) em uso hoje tem problemas para exibir PNGs (sem um canal alfa). PNG comprime muito melhor do GIF, e permite mais cores ao mesmo tempo. Além disso, existem ferramentas como optipng que irá comprimir imagens PNG ainda mais.

Outras dicas

Convert otimiza automaticamente a paleta no entanto, a paleta pode estar crescendo devido às cores sendo misturados durante redimensionamento. Você deve ser capaz de inspecionar a fonte e as imagens resultantes em um programa gráfico e ver o número de cores.

GIF suporta apenas compressão LZW, mas devido a restrições de patentes que têm desde expirado (o último foi, 2004) era uma vez necessária para habilitar manualmente compressão LZW. Eu não tenho certeza se esse ainda é o caso, no entanto, vale a pena olhar em.

Se a compressão LZW é especificado, mas compressão LZW não foi ativado, os dados da imagem é escrito em um formato LZW não comprimido que pode ser lido por decodificadores LZW. Isso pode resultar em arquivos GIF maiores do que o esperado. - imagemagick.org

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