Tamanho-alvo
Consiga um arquivo abaixo do tamanho que um formulário pede
Alguns lugares que querem a sua imagem a querem abaixo de um número de quilobytes. O campo de tamanho-alvo aceita esse número e trabalha em direção a ele, e ele é um teto em vez de uma promessa de tamanho exato.
Kibibytes, quilobytes e o número no formulário
O campo de tamanho-alvo aceita um número de kibibytes. Um kibibyte é 1024 bytes, e não 1000, então um alvo de 200 são 204.800 bytes. Quando um formulário diz 200 KB ele pode estar falando dos 200.000 bytes decimais, que são cerca de 195 KiB, então leia a unidade que ele usa e converta em vez de copiar o número de uma tela para a outra.
A diferença entre as duas unidades é aritmética, de duas constantes e mais nada: 1024 bytes por kibibyte e 1000 bytes por quilobyte decimal. Escreva o limite em bytes primeiro (200 KB decimais são 200.000 bytes), e então divida por 1024: esse é o número que este campo quer.
| Um limite escrito como | Um alvo que cabe nele |
|---|---|
| 20 KB | 19 KiB |
| 50 KB | 48 KiB |
| 100 KB | 97 KiB |
| 200 KB | 195 KiB |
| 500 KB | 488 KiB |
| 1 MB | 976 KiB |
Ler no outro sentido é a mesma aritmética com os números trocados, e esse é o sentido que morde. Um alvo de 100 são mais bytes do que 100 KB decimais permitem, então um arquivo que sai exatamente nesse alvo ainda pode estar acima do limite que você recebeu. Arredonde o número para baixo em vez de para cima e o arquivo fica abaixo. Nada aqui é uma economia nem uma porcentagem; são as mesmas duas constantes dos dois lados.
Um megabyte numa ficha técnica também não é sempre decimal. Se a ficha define o próprio MB em unidades de 1024 bytes, então um limite de 1 MB são 1024 KiB, e 1024 é o que este campo aceita. Onde uma ficha dá um número e nenhuma unidade, a ambiguidade é da ficha e não da ferramenta, e a linha concluída é o que resolve: ela mostra o tamanho antes e o tamanho depois em KiB, a unidade que este campo aceita, então um limite em KiB se lê nela diretamente. Para um limite decimal, compare a linha com a coluna da direita da tabela, ou leia o tamanho em bytes do arquivo que você baixa.
Um alvo é um teto com uma faixa abaixo dele
Esta é a diferença que mais importa nesta página. Um alvo é um limite no qual ou abaixo do qual a saída tem que ficar, e não um tamanho que a ferramenta vai produzir. A ferramenta primeiro codifica no seu ajuste de qualidade, e então procura uma qualidade cuja saída caiba abaixo do seu número, numa direção ou na outra.
Quando a primeira codificação passa do alvo, a busca baixa a qualidade, até 1 no menor valor, até o arquivo caber. Quando a primeira codificação sai bem abaixo do alvo, a busca vai para o outro lado: para cima a partir do seu ajuste, nunca acima de 100, atrás da maior qualidade que ainda caiba. Só essa busca para cima é limitada pelo seu ajuste. Baixá-lo é como a ferramenta chega ao seu número, então um arquivo que estava acima do alvo pode voltar mais áspero do que a qualidade que você escolheu.
A busca mira uma faixa: no máximo o seu número, e pelo menos 95% dele. A qualidade anda em números inteiros, e um passo pode atravessar a faixa inteira, então o arquivo cai dentro dela quando um passo cai dentro, e é a codificação mais próxima abaixo do seu alvo quando nenhum passo cai. Essa é a forma honesta da garantia. Quando uma qualidade cabe, o arquivo fica no seu número ou abaixo; o que não há é uma promessa de que ele fica logo abaixo do seu valor, ou dentro de 5% dele.
Um alvo acima do que o formato consegue produzir de todo jeito é um caso que vale nomear. A escala de qualidade para em 100, então um alvo muito maior do que a melhor codificação da própria imagem não pode ser preenchido deixando o arquivo maior. Nesse caso você recebe o maior arquivo que o formato fez, que ainda está abaixo do seu número, e a linha informa o alvo como alcançado, porque o arquivo está no teto ou abaixo dele. O veredito da linha é tirado nos bytes que você realmente baixa, contados depois de qualquer EXIF que você pediu para manter, então você nunca é informado de que um limite foi cumprido quando o arquivo no seu disco está acima dele.
Quais tamanhos um ajuste de qualidade alcança e quais precisam de um redimensionamento antes
Qualidade é o único ajuste que a busca gasta, então a pergunta se o seu número é possível até tem uma resposta honesta, e essa resposta tem mais de uma parte. O caso comum: um teto menor é só uma faixa mais estreita onde cair. A busca baixa a qualidade a partir do seu ajuste, até 1 no menor valor, até o arquivo caber, e preenche para cima a partir do seu ajuste quando a primeira codificação sai bem abaixo do seu número.
Três casos saem diferente desse caso comum, e cada um tem sua resposta.
Uma imagem que ainda está acima do alvo na qualidade 1 não o alcança. A qualidade 1 é o chão da escala, então não sobra nenhum ajuste mais baixo para gastar, e a linha informa que o alvo não foi alcançado. O que sobra para gastar são pixels.
Um PNG não consegue gastar a busca de jeito nenhum, porque é sem perdas e qualidade não é o ajuste dele. Tem uma seção só sobre esse caso mais abaixo.
Um bloco EXIF mantido é escrito depois da busca e não dentro do orçamento com que a busca trabalhou, então um arquivo que cabia ainda pode sair acima do teto quando você liga a manutenção de metadados. Deixe esse controle desligado quando um limite rígido importa, que também é o padrão.
Um teto acima do que a qualidade 100 produz também não é uma falha: você recebe a codificação em qualidade 100, que ainda está abaixo do seu número, e a linha diz que o alvo foi alcançado. A seção acima põe esse caso por inteiro.
Então a ordem que funciona é a mesma em todos os casos: defina uma largura no controle de redimensionamento e deixe o alvo na mesma conversão, porque a ferramenta redimensiona primeiro e depois procura a qualidade na imagem menor. Metade da largura é um quarto dos pixels, e o tamanho cai com os pixels, enquanto a qualidade só muda o que cada pixel custa. O formato de saída também mexe no número, e a página de WebP cobre essa escolha, incluindo o fato de que uma saída JPEG achata a transparência sobre o branco antes de codificar.
Quando a linha diz que o alvo não foi alcançado
Um alvo não alcançado vale ser lido antes de você tentar de novo. Ele foi decidido no arquivo que você baixa, e não na codificação que chegou perto, então um arquivo que a busca quase acertaria é informado como acima do limite quando ele está.
Existem três motivos honestos para um alvo não alcançado.
Redimensione na mesma conversão: defina uma largura no controle de redimensionamento e deixe o alvo onde está. A qualidade 1 é o chão da busca, então um arquivo que não alcança o alvo ali não se conserta baixando mais a qualidade, e menos pixels consertam, porque o tamanho cai com eles.
Quando você ligou a manutenção de metadados, o bloco EXIF é escrito depois da busca, então um arquivo que cabia ainda pode sair acima do teto. Desligue esse controle e rode de novo antes de redimensionar.
Se o arquivo é um PNG, a busca nunca chegou a rodar, então não há segunda tentativa pela qual esperar e nada para ajustar. A seção abaixo cobre o que um PNG pode e o que não pode.
Quando você guarda o resultado mesmo assim, julgue-o pelas duas prévias que a linha lhe dá: a imagem que você escolheu ao lado daquela que você está prestes a receber. É essa comparação que decide se o arquivo vale a pena naquele tamanho.
Um PNG sob um limite de tamanho
PNG é sem perdas, então ignora completamente o ajuste de qualidade, e é essa a razão inteira de um alvo em um PNG se comportar diferente de um alvo em um JPEG. Não há botão para baixar, então a busca não tem nada para gastar: um PNG cuja primeira codificação está acima do seu número não recebe nenhuma etapa de qualidade, e só a passada de otimização abaixo ainda pode trazê-lo abaixo do seu número.
Existe mais uma passada, e vale conhecer. Toda saída PNG passa por uma segunda passada de otimização, e os bytes dela só são mantidos quando são menos que os da primeira codificação. Então um PNG pode voltar menor e pode cair abaixo de um alvo que a primeira codificação não alcançou, e pode igualmente não cair. Nada aqui faz essa passada caçar o seu número: ela devolve menos bytes ou não devolve.
Isso deixa dois caminhos honestos para um PNG menor. Menos pixels funcionam em qualquer formato, então a primeira coisa a tentar é um redimensionamento. Um formato de saída com perdas funciona também, e ali a busca de qualidade tem um ajuste para gastar, então converter o PNG para WebP é a resposta quando o teto está bem abaixo do que um arquivo sem perdas dessa imagem consegue alcançar. Isso é uma troca e não uma vitória de graça: o que o codificador entrega para chegar ao número é seu para olhar na prévia antes de guardar o arquivo.
Manter metadados soma bytes depois da busca
Este é um detalhe que pega quem não espera. A busca de tamanho roda antes de qualquer bloco EXIF ser escrito, porque os codificadores não escrevem nenhum por padrão e o bloco é somado bem no fim, quando você pede para mantê-lo. O bloco, portanto, não está no orçamento com que a busca trabalhou.
A ferramenta trata isso de forma honesta em vez de silenciosa: ela conta os bytes finais, incluindo o bloco, então se manter os metadados empurrar o arquivo acima do seu alvo, a linha informa o alvo como não alcançado, mesmo que a codificação sozinha estivesse abaixo dele. Deixe o controle de manter desligado quando um limite rígido importa, que também é o padrão.
Como ler o veredito
Toda linha concluída traz uma de duas afirmações quando você define um alvo: que o arquivo está nele ou abaixo, ou que não está. Leia em vez de presumir. A conversão nunca informa como alcançado um alvo que não alcançou, então uma linha dizendo que ele não foi alcançado significa que o arquivo no seu disco está acima do limite. A seção sobre os alvos não alcançados mais acima diz qual mudança conserta isso.
Se um arquivo for recusado
Uma entrada maior que 32 MiB é recusada só pelo tamanho, antes de os bytes serem lidos. Uma entrada acima de 40.000.000 de pixels é lida e então recusada antes de qualquer coisa decodificá-la, porque a contagem de pixels só é conhecida depois que o cabeçalho dela foi lido. Os dois números são fixos e não uma leitura da sua máquina. O arquivo recusado nomeia o limite que o recusou, e todos os outros arquivos da conversão ainda terminam.
O que fazer depois
Defina o alvo em KiB, leia o veredito e, se ele não foi alcançado, redimensione a imagem e rode de novo em vez de baixar a qualidade mais ainda. Se o teto veio de um formulário ou de um portal em vez da sua própria escolha, a página de limites de foto lê essa especificação e diz qual parte dela esta ferramenta consegue cumprir. Se o seu trabalho é quase todo com fotografias, a página de comprimir JPEG cobre o lado da qualidade com mais detalhe, e se a questão em aberto for o formato, a página de WebP cobre isso.
Tarefas comuns
Continue explorando este tema
Temas relacionados: Primeiros passos
Teste um alvo no seu próprio arquivo
A ferramenta está na página inicial. Defina um alvo em KiB e leia o que cada linha diz sobre ele.