Dithering with CSS

34 points - last Monday at 3:26 PM

Source

Comments

tiborsaas today at 11:28 AM
This is CSS dithering with "SVG backend" doing the heavy lifting by utilizing the feComposite filter

https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/E...

tnelsond4 today at 11:31 AM
If we could get jbig2 native support in browsers we could do monochrome black and white images at ridiculously small file sizes.

A page of sheet music can be as small as 8kb. I'm using a wasm decoder right now, but I could forsee using css filters after the fact to make it look less sharp and aliased

rpastuszak today at 10:58 AM
I’ve messed with a similar idea here: https://untested.sonnet.io/notes/just-some-innocent-gradient...

(The linked web app doesn’t work on mobile in portrait mode, sorry!)

The biggest issue with this trick is that different engines calculate the filters differently, thus turning an okay-ish image into something that looks like a glitch.

nextlevelwizard today at 9:27 AM
Is this actually dithering?

I have dabbled with some dithering algorithms and while this is way faster than my naive js implementations, this looks pretty bad

ramon156 today at 8:58 AM
Is this what they use at schools before they hand it over to the printer? /j
kelsolaar today at 9:27 AM
It feels and looks like threshold-quantized Perlin rather than actual proper dithering. Cool stuff that said!
binaryturtle today at 9:18 AM
I have to admit I don't think it's visually very appealing like that. It looks more like some sort of error/ glitch. Maybe my old Firefox does it weirdly?
AntiUSAbah today at 9:58 AM
The image quality is so bad, I don't get it?