(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.
I'd love to see a live preview of the final file size that updates as you change the parameters, maybe debounced by 100ms or so. Although as others mentioned, is this actually proper dithering, seems like the effect of dithering without actually doing it?
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
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?
(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.
https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/E...
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
I have dabbled with some dithering algorithms and while this is way faster than my naive js implementations, this looks pretty bad
I think the noise is also way too 'soft'. At high frequencies it just becomes near-uniform gray so it barely affects the thresholding.