Questão Como obtenho capturas de tela compactadas máximas?


Eu gostaria de compactar minhas imagens o máximo possível antes de enviá-las por e-mail. A melhor taxa de compactação eu só tenho com algum trabalho em cada captura de tela:

  • primeiro tirei a captura de tela com shutter: 1920x1080px, compressão PNG 9 -> cerca de 450Kb
  • então eu fiz o upload para http://tinypng.org/ -> obteve a mesma imagem com quantização, mas apenas cerca de 150Kb restantes

Como eu poderia conseguir uma compressão tão boa dentro de uma ferramenta de captura de tela como o obturador? Mas o obturador não tem opção de "quantização".

A qualidade não é tão importante, eu não me importaria de ter mais perdas. Talvez com GIF seja possível comprimir menor? Ou com menos cores?

A técnica de http://tinypng.org parece fabuloso:

cores semelhantes na sua imagem são combinadas. Essa técnica é chamada de "quantização". Como o número de cores é reduzido, os arquivos PNG de 24 bits podem ser convertidos em imagens coloridas indexadas de 8 bits muito menores. Todos os metadados desnecessários são removidos também. O resultado: minúsculos arquivos PNG de 8 bits


4
2018-05-21 23:05


origem


Existe uma ferramenta nos repositórios para isso. Não me lembro do nome, mas se / quando eu encontrá-lo, vou postar aqui. - RolandiXor♦


Respostas:


optipng vale certamente a pena dar uma olhada. É linha de comando, mas você pode escrever um .desktop manipulador para isso. É bastante simples de usar para lotes:

optipng -o7 *.png

Mas note que é destrutivo. Ele irá sobrescrever seus arquivos. Isso geralmente é bom, mas se você estiver usando um formato de gordura (Adobe Fireworks PNG, por exemplo), você pode perder útil. Aqui está a lista completa de opções:

$ optipng -h
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

Synopsis:
    optipng [options] files ...
Files:
    Image files of type: PNG, BMP, GIF, PNM or TIFF
Basic options:
    -?, -h, -help   show this help
    -o <level>      optimization level (0-7)        default 2
    -v          verbose mode / show copyright and version info
General options:
    -fix        enable error recovery
    -force      enforce writing of a new output file
    -keep       keep a backup of the modified files
    -preserve       preserve file attributes if possible
    -quiet      quiet mode
    -simulate       simulation mode
    -snip       cut one image out of multi-image or animation files
    -out <file>     write output file to <file>
    -dir <directory>    write output file(s) to <directory>
    -log <file>     log messages to <file>
    --          stop option switch parsing
Optimization options:
    -f  <filters>   PNG delta filters (0-5)         default 0,5
    -i  <type>      PNG interlace type (0-1)        default <input>
    -zc <levels>    zlib compression levels (1-9)       default 9
    -zm <levels>    zlib memory levels (1-9)        default 8
    -zs <strategies>    zlib compression strategies (0-3)   default 0-3
    -zw <window size>   zlib window size (32k,16k,8k,4k,2k,1k,512,256)
    -full       produce a full report on IDAT (might reduce speed)
    -nb         no bit depth reduction
    -nc         no color type reduction
    -np         no palette reduction
    -nx         no reductions
    -nz         no IDAT recoding
Optimization details:
    The optimization level presets
        -o0  <=>  -o1 -nx -nz
        -o1  <=>  [use the libpng heuristics]   (1 trial)
        -o2  <=>  -zc9 -zm8 -zs0-3 -f0,5    (8 trials)
        -o3  <=>  -zc9 -zm8-9 -zs0-3 -f0,5  (16 trials)
        -o4  <=>  -zc9 -zm8 -zs0-3 -f0-5    (24 trials)
        -o5  <=>  -zc9 -zm8-9 -zs0-3 -f0-5  (48 trials)
        -o6  <=>  -zc1-9 -zm8 -zs0-3 -f0-5  (120 trials)
        -o7  <=>  -zc1-9 -zm8-9 -zs0-3 -f0-5    (240 trials)
    The libpng heuristics
        -o1  <=>  -zc9 -zm8 -zs0 -f0        (if PLTE is present)
        -o1  <=>  -zc9 -zm8 -zs1 -f5        (if PLTE is not present)
    The most exhaustive search (not generally recommended)
      [no preset] -zc1-9 -zm1-9 -zs0-3 -f0-5    (1080 trials)
Examples:
    optipng file.png                (default speed)
    optipng -o5 file.png            (moderately slow)
    optipng -o7 file.png            (very slow)
    optipng -i1 -o7 -v -full -sim experiment.png

Existem outras ferramentas (pngcrush por exemplo) e você pode achar que eles são mais úteis, mas eu nunca me desviei optipng, apenas por sua simplicidade sem sentido.

Há um tiroteio de compressão de PNG razoavelmente abrangente aqui que é bastante divertido:


3
2018-05-21 23:54



optipng funciona muito bem, como eu poderia incluí-lo no screenshoter do sistema? - rubo77


Você pode adicionar este plugin para shutter:

Ferramenta de captura de tela com optipng integrado ou pngcrush

que te dá a opção de comprimir a screenshot criada com optipng


1
2017-08-16 10:09