#嵌入式图形 #图形 #无std

无std 嵌入式图形变换

嵌入式显示驱动程序的简单坐标变换

1个不稳定版本

0.1.0 2022年9月14日

#1330 in 嵌入式开发

MIT/Apache

31KB
809

嵌入式图形变换

此crate提供简单变换的泛型实现 - 按照90度的倍数旋转、镜像和转置。

这些变换旨在适应特定显示尺寸和方向,它提供了固定变换类型,无空间开销和最小时间开销来调整坐标和尺寸。它还提供了具有最小额外空间和时间开销的运行时配置旋转。

由于这是泛型的,它不能利用任何硬件支持的图像旋转。特别是,DrawTarget::fill_contiguous不会使用任何专门的实现。

此crate是无std的,并且有最小额外的依赖。


lib.rs:

为嵌入式图形显示器添加简单坐标变换

此crate添加了DrawTarget实现,将各种简单变换应用于写入时的坐标。这允许图形输出在特定显示设备上正确显示。

具体实现包括:

  • 90度、180度和270度旋转(以及0度,为了一致性)
  • 镜像
  • 转置

注意,如果需要,这些变换可以组合。

由于这是一个完全泛型的实现,它不能利用任何硬件或驱动特定的特殊化。特别是,DrawTarget::fill_contiguous必须回退到使用draw_iter的泛型实现。(然而,fill_solidclear可以使用专门的实现。)

所有变换都实现了AsRef<D>/AsMut<D>,以便访问底层显示对象,从而可以调用其固有函数。

依赖关系

~485KB