Afbeelding dithering

Ditheringtool laden…

Zet een PNG-, JPEG- of WebP-afbeelding met Floyd-Steinberg-, Atkinson- of Bayer 4×4-dithering om in een raster met een bewust beperkt kleurenpalet. Kies Monochroom, Grijstinten of Beperkte kleuren, vergelijk het voorbeeld en exporteer een PNG. De verwerking blijft in deze browser: de afbeelding wordt niet geüpload, via Livewire verstuurd of in een URL geplaatst. In de funnelmodus kan een tijdelijke lokale kopie het project tussen paginastappen beschikbaar houden; Opnieuw beginnen verwijdert deze en na twee uur verloopt de kopie automatisch. Dit is deterministische pixelverwerking, geen AI, overtrekken of vectorconversie. De bronafbeelding mag maximaal 15 MiB, 20 megapixels en 8.192 pixels per zijde zijn. Om de browser vlot te laten reageren, wordt de uitvoer automatisch beperkt tot 4 megapixels. Het oorspronkelijke alfakanaal blijft behouden en dithering wijzigt alleen RGB, zodat volledig transparante pixels transparant blijven.

Zo dither je een afbeelding in de browser

  1. 1

    Kies een afbeelding

    Open een PNG-, JPEG- of WebP-bestand van maximaal 15 MiB en 20 megapixels. Het bestand wordt lokaal in de browser gedecodeerd.

  2. 2

    Selecteer het algoritme

    Gebruik Floyd-Steinberg- of Atkinson-foutdiffusie, of kies Bayer 4×4 voor een regelmatig geordend patroon.

  3. 3

    Kies het palet

    Selecteer Monochroom, Grijstinten of Beperkte kleuren en bekijk hoe het kleinere kleurenpalet verlopen, randen en textuur weergeeft.

  4. 4

    Download de PNG

    Controleer het rastervoorbeeld op bruikbare zoomniveaus en exporteer de verwerkte pixels als PNG met behoud van de bronalpha.

Wat de drie algoritmen veranderen

Dithering geeft tinten met minder kleuren weer door beschikbare pixels ruimtelijk te rangschikken. Floyd en Steinberg introduceerden voorwaartse foutdiffusie in hun publicatie uit 1976, An Adaptive Algorithm for Spatial Greyscale. Elke gekwantiseerde pixel laat een fout achter die wordt verdeeld over naburige pixels die nog moeten worden verwerkt. Dit levert doorgaans een fijne, onregelmatige textuur op en bewaart geleidelijke veranderingen beter dan één drempelwaarde voor de hele afbeelding.

Atkinson gebruikt eveneens foutdiffusie, maar wijkt af in het patroon van naburige pixels en het deel van de fout dat wordt doorgegeven. Apple vermeldt Floyd-Steinberg en Atkinson als afzonderlijke vImage-dithermethoden. Atkinson geeft vaak een scherper resultaat met meer contrast, maar kan daarbij een deel van de vloeiende toonvariatie verliezen.

Bayer 4×4 is geordende dithering. Een vaste drempelmatrix van 4×4 wordt over de afbeelding herhaald, in plaats van fouten van de ene pixel naar de volgende door te geven. De methode komt uit het artikel van B. E. Bayer uit 1973, geregistreerd als An Optimum Method for Two-Level Rendition of Continuous-Tone Pictures. Het zichtbare, regelmatige patroon is geschikt voor retrobeelden en voorspelbare texturen.

Algoritme Verwerkingsmodel Kenmerkend uiterlijk Praktisch nadeel
Floyd-Steinberg Verspreidt de kwantisatiefout naar later verwerkte buren Fijne, onregelmatige details Kan wormachtige textuur in egale vlakken veroorzaken
Atkinson Verspreidt een deel van de fout via een breder lokaal patroon Scherpe randen en open hoge lichten Kan iets aan nauwkeurigheid in middentonen verliezen
Bayer 4×4 Vergelijkt elke pixel met een herhaalde drempelmatrix Regelmatige 4×4-textuur Patroon is zichtbaarder dan bij foutdiffusie

Grenzen van palet en alfakanaal

Monochroom reduceert zichtbaar RGB tot twee tinten. Grijstinten behoudt meerdere neutrale niveaus, terwijl Beperkte kleuren RGB naar een kleine kleurenset kwantiseert. Deze modi herkennen geen onderwerpen, herstellen geen ontbrekende details en bedenken geen nieuwe kleuren. De uitvoer blijft een raster met de verwerkte pixelafmetingen; het is geen SVG of andere vectorillustratie.

De ditherberekening wijzigt alleen RGB-waarden. De oorspronkelijke alfawaarde van elke pixel wordt gekopieerd, ook bij gedeeltelijke transparantie, en volledig transparante pixels blijven transparant. De PNG-specificatie definieert alpha per pixel, van volledig transparant tot volledig dekkend. JPEG heeft geen alpha; PNG en sommige WebP-bestanden kunnen dit wel hebben.

Verwerking in de browser en PNG-export

De browser decodeert het gekozen bestand, leest de pixels, past het algoritme toe en maakt de download lokaal. De afbeelding wordt nooit geüpload en de bytes komen niet in Livewire-verzoeken of funnel-URL’s. In de funnelmodus kan het project maximaal twee uur in lokale, per tabblad geïsoleerde browseropslag blijven staan om volledige paginastappen te overbruggen. Opnieuw beginnen verwijdert het project; automatische vervaldatum wist achtergelaten gegevens. De HTML Canvas-specificatie beschrijft pixeluitlezing en export met toBlob(), waarbij PNG verplicht is als een gevraagd type niet wordt ondersteund.

De limiet van 15 MiB voor het gecomprimeerde bestand en de limieten van 20 megapixels en 8.192 pixels per zijde voor de gedecodeerde afbeelding beschermen browsergeheugen en verwerkingstijd. Een klein gecomprimeerd bestand kan toch een grote pixelbuffer opleveren. Om de browser vlot te laten reageren, wordt de uitvoer automatisch beperkt tot 4 megapixels, ook als de toegestane bron groter is. Verklein een geldige afbeelding eerst als deze een bronlimiet overschrijdt. PNG-export bewaart pixels en alpha verliesvrij, maar niet de metadata, lagen of vectorobjecten uit het bronbestand.

Veelgestelde vragen

Probeer Floyd-Steinberg voor fijne foutgediffundeerde textuur, Atkinson voor een scherper beeld met veel contrast en Bayer 4×4 voor een zichtbaar regelmatig retropatroon. De beste keuze hangt af van de afbeelding en het gewenste uiterlijk.

Nee. De tool past in de browser deterministische pixelkwantisatie en dithering toe. Onderwerpen worden niet herkend, inhoud wordt niet gegenereerd, vormen worden niet overgetrokken en SVG wordt niet geëxporteerd. De download is een raster-PNG.

De oorspronkelijke alfawaarde wordt voor elke pixel gekopieerd en dithering beïnvloedt alleen RGB. Volledig transparante pixels blijven transparant en gedeeltelijke alpha blijft behouden in de PNG-uitvoer.

Je kunt PNG-, JPEG- en WebP-bestanden tot 15 MiB, 20 megapixels en 8.192 pixels per zijde openen. Om de browser vlot te laten reageren, wordt de uitvoer automatisch beperkt tot 4 megapixels.

De afbeelding wordt nooit geüpload, via Livewire verstuurd of in een funnel-URL geplaatst. In funnelmodus kan een lokale, tabbladgebonden kopie maximaal twee uur tussen stappen worden bewaard. Opnieuw beginnen verwijdert deze; achtergelaten projecten verlopen automatisch.

Gerelateerde tools