3个不稳定版本

0.2.1 2024年1月23日
0.2.0 2024年1月4日
0.1.0 2023年12月21日

#27渲染

Download history 24/week @ 2024-04-20 36/week @ 2024-04-27 68/week @ 2024-05-04 36/week @ 2024-05-11 31/week @ 2024-05-18 39/week @ 2024-05-25 84/week @ 2024-06-01 63/week @ 2024-06-08 70/week @ 2024-06-15 59/week @ 2024-06-22 53/week @ 2024-06-29 25/week @ 2024-07-06 41/week @ 2024-07-13 804/week @ 2024-07-20 327/week @ 2024-07-27 279/week @ 2024-08-03

1,454 每月下载量
用于 tgf

MIT 许可证

42KB
925

SDF("有符号距离场")生成算法

Crates.io Docs

算法

目前,此库包含以下SDF生成算法

  • sdfer::bruteforce_bitmap:基于位图的"最近相反颜色像素"暴力搜索
  • sdfer::esdt:"欧几里得亚像素距离变换"
    • 这是从@use-gpu/glyph npm 包的原始JS实现移植的Rust版本
    • https://acko.net/blog/subpixel-distance-transform/ 博客文章解释了如何将旧的EDT("欧几里得距离变换")算法修改为更好地利用例如矢量文本的灰度AA光栅化中的信息(其中"灰度AA"实际上是每像素覆盖的alpha通道编码)
    • 与输出像素的数量(与输入像素1:1对应,因此也不需要过大的光栅化)成线性关系,使其比大多数其他算法更具可行性,适用于按需运行时将矢量→SDF转换
      (例如,为了避免滚动/平移时的像素对齐文本,在需要更大光栅化之前允许一定程度的平滑捏合缩放等)

许可证

MIT许可证下授权(LICENSE-MIThttp://opensource.org/licenses/MIT)。

注意:这是MIT许可,而不是常见的双重许可,主要是因为ESDT算法实现是从@use-gpu/glyph npm包移植的JS代码,该包本身是MIT许可的。

贡献

除非您明确说明,否则您提交的任何有意包含在此crate中的贡献都应按照MIT许可,不附加任何额外条款或条件。

依赖项

~0–0.8MB
~11K SLoC