Crates.io | dithor |
lib.rs | dithor |
version | 0.4.0 |
source | src |
created_at | 2022-11-17 23:37:16.966248 |
updated_at | 2024-09-24 16:47:09.096468 |
description | Pixilisation/dithering library |
homepage | |
repository | https://gitlab.com/girflo/dithor |
max_upload_size | |
id | 717557 |
size | 46,264 |
This library rewrite an image given as input using only two colors a la dithering.
The image is spit in many squares of 5x5 pixels for high resolution mode, or 15x15 pixels for low resolution mode. For each of those squares the average relative luminance is calculated.
This luminance is then used to assign a level to the square. The level is between 0 and 9, 0 for completely bright and 9 fully dark.
The content of the square is then filled with the following pattern (depending on the level):
Here's a picture showing the same patterns on a bigger surface:
Finally here's an example using the painting "The swan, no 1" from Hilma af Klint:
The content of the square is then filled with the following pattern (depending on the level):
And here's the same example in low res:
When the third parameter is true the output will be in color, the brightest and darkest colors from the 25 or 225 pixels are used to fill the patterns showed above.
Example in high res:
Example in low res:
To use this library you can simply call it using:
dithor::dithor("input.jpg", "output.jpg", true, true, true);
Params