Dithering de imagem

Carregando a ferramenta de dithering…

Transforme uma imagem PNG, JPEG ou WebP em um raster com paleta intencionalmente limitada usando dithering Floyd-Steinberg, Atkinson ou Bayer 4×4. Escolha Monocromático, Tons de cinza ou Cores limitadas, compare a prévia e exporte um PNG. O processamento fica neste navegador: a imagem não é enviada, não passa pelo Livewire nem é incluída em um URL. No modo de etapas, uma cópia local temporária mantém o projeto disponível entre as páginas; Recomeçar a exclui e a cópia expira automaticamente depois de duas horas. É um processamento determinístico de pixels, não IA, vetorização automática nem conversão vetorial. A imagem de origem pode ter até 15 MiB, 20 megapixels e 8.192 pixels por lado. Para manter o navegador responsivo, a saída é limitada automaticamente a 4 megapixels. O canal alfa original é preservado, enquanto o dithering modifica apenas RGB, portanto os pixels totalmente transparentes continuam transparentes.

Como aplicar dithering a uma imagem no navegador

  1. 1

    Escolha uma imagem

    Abra um arquivo PNG, JPEG ou WebP com no máximo 15 MiB e 20 megapixels. O arquivo é decodificado localmente no navegador.

  2. 2

    Selecione o algoritmo

    Use a difusão de erro Floyd-Steinberg ou Atkinson, ou escolha Bayer 4×4 para obter um padrão ordenado regular.

  3. 3

    Escolha a paleta

    Selecione Monocromático, Tons de cinza ou Cores limitadas e veja como as cores reduzidas representam gradientes, bordas e texturas.

  4. 4

    Baixe o PNG

    Examine a prévia raster em níveis de zoom adequados e exporte os pixels processados como PNG, preservando o alfa da imagem original.

O que os três algoritmos alteram

O dithering representa tons com um conjunto menor de cores ao distribuir espacialmente os pixels disponíveis. Floyd e Steinberg apresentaram a difusão de erro para a frente no artigo de 1976, An Adaptive Algorithm for Spatial Greyscale. Cada pixel quantizado deixa um erro que é distribuído aos pixels vizinhos ainda não processados. Em geral, isso produz uma textura fina e irregular e preserva melhor as mudanças graduais do que aplicar um único limiar a toda a imagem.

Atkinson também usa difusão de erro, mas o padrão de vizinhança e a parcela de erro preservada são diferentes. A Apple lista Floyd-Steinberg e Atkinson como métodos de dithering vImage separados. Atkinson costuma produzir um resultado mais nítido e contrastado, mas pode perder parte das variações tonais suaves.

Bayer 4×4 é um dithering ordenado. Ele repete uma matriz fixa de limiares 4×4 sobre a imagem, em vez de transportar o erro de um pixel para o seguinte. O método vem do artigo de B. E. Bayer de 1973, registrado como An Optimum Method for Two-Level Rendition of Continuous-Tone Pictures. Seu padrão visível e regular é útil para gráficos retrô e texturas previsíveis.

Algoritmo Modelo de processamento Aparência típica Limitação prática
Floyd-Steinberg Distribui o erro de quantização aos próximos vizinhos Detalhes finos e irregulares Pode criar texturas semelhantes a vermes em áreas uniformes
Atkinson Distribui parte do erro em um padrão local mais amplo Bordas nítidas e áreas claras abertas Pode sacrificar parte da precisão dos tons médios
Bayer 4×4 Compara cada pixel com uma matriz de limiares repetida Textura 4×4 regular O padrão é mais visível que na difusão de erro

Limites da paleta e do canal alfa

Monocromático reduz o RGB visível a dois tons. Tons de cinza mantém vários níveis neutros, enquanto Cores limitadas quantiza RGB em um pequeno conjunto de cores. Esses modos não identificam objetos, reconstroem detalhes perdidos nem deduzem novas cores. O resultado continua sendo um raster com as dimensões processadas em pixels; não é SVG nem outra arte vetorial.

O cálculo do dithering modifica apenas RGB. Ele copia o alfa original de cada pixel, inclusive a transparência parcial, e pixels totalmente transparentes continuam transparentes. A especificação PNG define alfa por pixel, desde totalmente transparente até totalmente opaco. JPEG não possui alfa, enquanto PNG e alguns arquivos WebP podem contê-lo.

Processamento no navegador e exportação PNG

O navegador decodifica o arquivo, lê os pixels, aplica o algoritmo e cria o download localmente. A imagem nunca é enviada e seus bytes não entram em solicitações Livewire nem em URLs. No modo de etapas, o projeto pode permanecer por até duas horas no armazenamento local isolado por aba para atravessar mudanças de página. Recomeçar o exclui e a expiração automática remove dados abandonados. A especificação HTML Canvas define a leitura dos pixels e a exportação com toBlob(), exigindo PNG quando o tipo solicitado não é aceito.

O limite de 15 MiB para o arquivo compactado e os limites de 20 megapixels e 8.192 pixels por lado para a imagem decodificada protegem a memória e o tempo de processamento do navegador. Um arquivo compactado pequeno ainda pode gerar um grande buffer de pixels. Para manter o navegador responsivo, a saída é limitada automaticamente a 4 megapixels, mesmo quando a origem aceita é maior. Redimensione primeiro qualquer imagem válida que exceda um limite da origem. A exportação PNG preserva pixels e alfa sem perdas, mas não mantém metadados, camadas ou objetos vetoriais do arquivo original.

Perguntas frequentes

Experimente Floyd-Steinberg para uma textura fina com difusão de erro, Atkinson para um aspecto mais nítido e contrastado e Bayer 4×4 para um padrão retrô claramente regular. A melhor escolha depende da imagem e do resultado desejado.

Não. Ela aplica quantização de pixels e dithering determinísticos no navegador. Não reconhece objetos, gera conteúdo, traça formas nem exporta SVG. O download é um PNG raster.

O alfa original é copiado para cada pixel, enquanto o dithering afeta apenas RGB. Pixels totalmente transparentes continuam transparentes e o alfa parcial é preservado no PNG final.

Você pode abrir arquivos PNG, JPEG e WebP de até 15 MiB, 20 megapixels e 8.192 pixels por lado. Para manter o navegador responsivo, a saída é limitada automaticamente a 4 megapixels.

A imagem nunca é enviada, não passa pelo Livewire nem entra em uma URL. No modo de etapas, uma cópia local isolada por aba pode ser mantida por até duas horas. Recomeçar a exclui e projetos abandonados expiram automaticamente.

Ferramentas relacionadas