6次发布
0.2.3 | 2024年7月23日 |
---|---|
0.2.2 | 2024年7月9日 |
0.2.1 | 2024年2月26日 |
0.2.0 | 2023年9月19日 |
0.1.1 | 2019年7月12日 |
#111 in 算法
5,018次每月下载
用于 6 个crate(5 个直接使用)
215KB
644 行
blurhash-rs
Blurhash 的纯Rust实现。
Blurhash是由Dag Ågren为Wolt (woltapp/blurhash)编写的算法,将图像编码为短(约20-30字节)的ASCII字符串。当你将字符串解码回图像时,你会得到代表原始图像的颜色渐变。这可以在你需要图像占位符或甚至对图像内容进行审查的Mastodon等场景中使用。
🚴 使用方法
将 blurhash
添加到你的 Cargo.toml
[dependencies]
blurhash = "0.2.3"
默认情况下,启用了 fast-linear-to-srgb
。这通过大约60%的解码性能改进,但会有8KB的内存开销。如果这个开销有问题,你可以在 Cargo.toml
中指定以下内容来禁用它
[dependencies]
blurhash = { version = "0.2.3", default-features = false }
编码
use blurhash::encode;
use image::GenericImageView;
fn main() {
// Add image to your Cargo.toml
let img = image::open("octocat.png").unwrap();
let (width, height) = img.dimensions();
let blurhash = encode(4, 3, width, height, &img.to_rgba().into_vec());
}
解码
use blurhash::decode;
let pixels = decode("LBAdAqof00WCqZj[PDay0.WB}pof", 50, 50, 1.0);
许可
许可方式为以下之一
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖
~0–8.5MB
~71K SLoC