Como reduzir o tamanho de uma imagem
O formulário só aceita até 2 MB e minha foto tem 8 MB. O que eu mudo?
Três alavancas, e uma delas domina
Todo compressor de imagem puxa alguma combinação de três alavancas: quantos pixels a imagem tem, quanto detalhe o codificador pode descartar e em que formato ele grava. As pessoas vão primeiro no controle de qualidade porque é o que toda ferramenta mostra primeiro. Em geral, é o ponto errado para começar.
As dimensões dominam, porque o tamanho do arquivo cresce mais ou menos junto com a quantidade de pixels, e a quantidade de pixels cresce com o quadrado da medida linear. Cortar largura e altura pela metade deixa um quarto dos pixels. Nada que você faça no controle de qualidade é tão decisivo, e nada custa tão pouco em qualidade percebida — desde que o resultado ainda seja maior que a área em que ele vai aparecer.
Descubra de quantos pixels você realmente precisa
A câmera de um celular atual produz imagens na casa dos 4000 pixels de largura. Uma foto em tela cheia em um notebook aparece com algo entre 1500 e 2000 pixels de largura, e uma foto dentro de um artigo costuma aparecer com 800. Mandar 4000 pixels para uma área que mostra 800 significa que cerca de 96 por cento dos pixels são descartados pelo programa de quem vê, depois de já terem sido baixados.
| Lado maior | Pixels aproximados | Fração do original de 4000 px |
|---|---|---|
| 4000 px | 10,7 milhões | 100% |
| 2560 px | 4,4 milhões | 41% |
| 1920 px | 2,5 milhões | 23% |
| 1280 px | 1,1 milhão | 10% |
| 800 px | 0,4 milhão | 4% |
Essas porcentagens são aritmética, não a medição de um arquivo específico — um arquivo comprimido não encolhe em proporção exata à sua quantidade de pixels. Ainda assim, são a primeira coisa certa a olhar, porque mostram quanto espaço o redimensionamento está dando ao codificador antes que ele precise começar a descartar detalhe.
O que o controle de qualidade faz
Em um codificador JPEG, o número de qualidade escala uma tabela de divisores aplicada aos coeficientes de frequência de cada bloco de 8×8. Qualidade menor significa divisão mais grosseira, o que significa mais coeficientes arredondados para zero, o que significa menos bits. O custo visível aparece primeiro nas bordas duras e nos gradientes suaves: ringing ao redor do texto e bandas no céu.
A escala não é linear nem comparável entre formatos. Qualidade 80 em um codificador JPEG, em um de WebP e em um de AVIF são três números sem relação entre si que por acaso compartilham a mesma faixa. Julgue o resultado olhando a imagem em tamanho real, não confiando no número.
Por que um tamanho-alvo é uma busca, não um ajuste
Nenhum codificador aceita “deixe isto com 500 KB” como instrução. Ele aceita um ajuste de qualidade e produz o tamanho que aquele ajuste produzir para aquela imagem específica. Uma ferramenta que oferece um tamanho-alvo está, portanto, rodando uma busca: codifica, mede, ajusta a qualidade, codifica de novo e para quando o resultado fica abaixo do orçamento ou quando chega ao piso de qualidade.
É por isso que um alvo é sempre uma tentativa de melhor esforço. Uma fotografia detalhada, ruidosa e de alta resolução pode não caber em um orçamento apertado com nenhuma qualidade que uma pessoa aceitaria, e a resposta honesta é parar no piso e dizer onde parou, em vez de seguir até arruinar a imagem. As ferramentas de tamanho-alvo do FileSlimmer reduzem as dimensões primeiro, depois estreitam a qualidade entre dois limites e informam o ajuste em que terminaram.
Como deixar uma imagem com menos de 1 MB
Comece redimensionando a foto do celular para as maiores dimensões de que o destino precisa. Para e-mail, formulários e páginas comuns, isso costuma ficar bem abaixo do original da câmera. Depois codifique um novo JPEG ou WebP em uma qualidade alta, mas não máxima, meça o resultado e só baixe a qualidade aos poucos se o arquivo ainda passar de 1 MB.
A qualidade sozinha não determina se o resultado fica abaixo de 1 MB, porque imagens detalhadas precisam de mais dados do que imagens simples. Se a primeira tentativa não bater o limite, reduza as dimensões antes de forçar a qualidade para baixo. Isso normalmente preserva uma imagem de aparência mais natural do que manter todos os pixels e acrescentar fortes artefatos de bloco ou de ringing.
Coisas que não ajudam
- Colocar o arquivo em um ZIP. Formatos de imagem comprimidos quase não deixam redundância para um compressor de uso geral encontrar; o compactado costuma ficar a um erro de arredondamento do tamanho original.
- Renomear a extensão. Os bytes não mudam, e um programa que lê a assinatura real do arquivo apenas vai se confundir.
- Salvar de novo um JPEG na mesma qualidade. É uma segunda passagem com perdas: o arquivo não fica menor de forma útil e a imagem fica um pouco pior.
- Remover os metadados de uma fotografia, se o seu único objetivo é o tamanho. Alguns kilobytes de EXIF contra vários megabytes de pixels é ruído. Remova por privacidade, que é um motivo real, não por tamanho.
Um fluxo que costuma dar certo
- Decida o maior tamanho em que a imagem algum dia vai ser exibida e redimensione o lado maior para isso.
- Escolha o formato que combina com o conteúdo: um formato com perdas para fotografias, um sem perdas para capturas de tela e gráficos chapados.
- Comece em uma qualidade alta, mas não máxima, e vá descendo até enxergar o estrago; então suba um passo.
- Confira o resultado em tamanho real, no tipo de tela a que ele se destina.
- Se ainda estiver grande demais, volte ao primeiro passo. Quase sempre há mais espaço nas dimensões do que na qualidade.
Onde isso deixa de funcionar
Algumas imagens resistem a tudo isso. Um documento digitalizado cheio de texto miúdo precisa dos seus pixels para continuar legível, então redimensionar prejudica na hora, e reduzir a qualidade produz exatamente os artefatos que dificultam a leitura. Uma captura de tela de uma planilha tem o mesmo problema. Nesses casos, a resposta certa costuma ser outro formato — sem perdas, ou um PDF — e não um número menor de kilobytes.
E, se um portal rejeitar o seu arquivo, veja se o limite é de tamanho do arquivo ou de dimensões em pixels. São limites diferentes, e um arquivo que passa em um pode reprovar no outro.
Ferramentas para isso
Fontes
- ITU-T T.81 — quantisation and the JPEG quality scale
- MDN — Image file type and format guide
- MDN — Responsive images and choosing a display width