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