5 个不稳定版本

0.3.1 2023年4月26日
0.3.0 2023年4月13日
0.2.1 2023年4月2日
0.2.0 2023年3月7日
0.1.0 2022年11月17日

#666 in 图像

每月 27 次下载

MIT 许可证

18KB
426

Dithor

这个库是什么

基本原理

该库使用类似 抖动 的方式,仅使用两种颜色重新编写输入图像。

图像被分割成许多 5x5 像素的方块。对于这些方块中的每一个,计算其平均 相对亮度

然后使用这个亮度为方块分配一个级别。级别在 0 到 9 之间,0 表示完全明亮,9 表示完全黑暗。

然后根据级别填充方块的以下模式

dithor gradiant for levels

以下是一张显示更大表面上相同模式的图片

dithor gradiant for levels

以下是使用希尔玛·阿芙·克林特的画作“天鹅,第1号”的示例

dithor version of the swan

使用颜色

当第三个参数为 true 时,输出将为彩色,使用 25 像素中最亮和最暗的颜色填充上述模式。

如何使用它

Crate.io

要使用此库,您可以简单地调用它

dithor::dithor("input.jpg", "output.jpg", true, true);

参数

  • input: 输入图像的路径,可以是 jpg 或 png
  • output: 输出图像的路径,可以是 jpg 或 png。如果文件已存在,则将覆盖它
  • overwrite: 指定输出文件是否应覆盖具有相同名称的任何现有图像
  • color: 布尔值,如果为 true,输出图像将是彩色,否则是黑白

依赖项

~13MB
~60K SLoC