2个版本
| 0.1.1 | 2022年6月15日 | 
|---|---|
| 0.1.0 | 2022年6月15日 | 
1072 在 嵌入式开发 中排名
每月下载 403 次
在 stackblur-iter 中使用
10KB
116 行
blend-srgb 是一个小型、兼容#![no_std]的sRGB转换和混合库,专为性能设计。
它提供了一些辅助函数用于转换和混合sRGB值。有关更多详细信息,请参阅文档。
lib.rs:
blend-srgb 是一个小型、兼容#![no_std]的sRGB转换和混合库,专为性能设计。
它提供了一些辅助函数用于转换和混合sRGB值
- srgb_to_rgb,将浮点sRGB分量转换为浮点线性RGB分量。
- rgb_to_srgb,执行相反操作。
- srgb8_to_rgb12,将8位sRGB分量转换为12位线性RGB分量。
- rgb12_to_srgb8,执行相反操作。
- rgb12_to_srgb8_unchecked,不截断输入到12位。
- blend_srgb8_channel,使用提供的alpha值混合sRGB前景色和背景色。
- blend_srgb8,与上面相同,但用于(r, g, b)元组。
此外,这些函数被设计得足够高效,可以在软件合成管道中使用。为此,包含了一个小的(4.5k)查找表。由于使用的是12位线性值而不是16位,所以查找表可以很小。12位足以存储所有8位sRGB值在线性空间中。
除了srgb_to_rgb和rgb_to_srgb之外的所有函数仅使用整数运算,因此与#![no_std]完全兼容。要激活#![no_std],只需禁用std特性。为了保持浮点方法,还需要添加libm特性。
依赖项
~105KB