Atkinson Dithering

processing...

What's this?

This is an implementation of the classic Macintosh 1-bit filter, as used by Hyperdither and HyperScan originally.

It compares every pixel to 50% grey, then changes them to either black or white. The difference between the input and the output is then distributed to the neighbouring pixels as follows (X is the current pixel):

     X  1/8 1/8
1/8 1/8 1/8
    1/8

The rendered image can be rightclicked-saved. (Due to limitations of the browsers(?) you cannot drag it to the desktop)

This code uses Canvas, Drag and Drop events, WebWorkers and the FileReader API so you'll need the newest and shiniest browser to try it.