awxkee/colorutils-rs · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
Rust 颜色处理与转换工具。
其目标是为最常见的转换路径提供支持,并实现高性能的 SIMD 优化选项。
现有的 SIMD 快速路径通常比传统实现快 5-10 倍。
支持以下格式之间的转换:
- Rgb/Rgba/Rgba1010102/Rgb565/RgbF16
- HSL
- HSV
- CIE LAB
- CIE LUV
- CIE LCh
- XYZ
- Sigmoidal
- Oklab
- Oklch
- Jzazbz
- Jzczhz
- lαβ (l-alpha-beta)
- XYB
性能
目前已有一些预构建函数可供使用。
srgb_to_lab(src_bytes, width * components, &mut lab_store, width * 3 * std::mem::size_of::<f32>() as u32, width, height);
预构建的解决方案其运行速度比简单的实现方式快约 3-5 倍。如果您的场景适合使用预构建函数,那么应当选用它。 速度的提升得益于 AVX、NEON 和 SSE 技术;如果您禁用了这些功能或使用的 CPU 不具备这些特性,那么将无法获得任何性能优势。
此外,还支持 x86-64 架构的 fma 目标功能。
若要正确编译 avx2 指令,必须在编译时激活 +avx2 目标功能。即便使用运行时动态调度,这一步也同样重要。
本项目采用以下任一许可证进行授权:
您可根据需求选择合适的许可证。