3 个不稳定版本
| 0.2.0 | 2023年10月28日 |
|---|---|
| 0.1.1 | 2022年11月25日 |
| 0.1.0 | 2022年11月22日 |
#1907 在 嵌入式开发
31KB
881 行
gfx-xtra
嵌入式图形的扩展。目前,所有扩展都是 DrawTarget (显示) 转换。
TL;DR: 使用这些扩展,将以下之一或两个添加到您的 Rust 模块中
use gfx_xtra::draw_target::DrawTargetExt2;
use gfx_xtra::draw_target::OwnedDrawTarget;
MSRV
1.65,因为 Owned 转换使用了 GATs,这刚刚得到了稳定。
PackedFrameBuffer
一个离屏 DrawTarget 帧缓冲实现,颜色分辨率为 1 到 8 位。用于实现无闪烁的绘制和向实际屏幕发送更新差异。
如果您有 16 或 32bpp 屏幕,请使用 ColorConverted DrawTarget 转换来将您自定义的 1 到 8 位颜色转换为屏幕支持的 RGB 颜色。由于离屏缓冲区需要太多的 RAM,因此不太可能取消 8 位颜色的限制。
Owned 转换
embedded-graphics 中的 DrawTargetExt trait 允许您裁剪、裁剪、平移和颜色转换您的显示,但这些转换需要您原始显示的 &mut 引用,这有时可能不方便——例如,当您想转换屏幕并向通用绘图代码发送所有权的(Box-ed 或未)实例时。
特质 OwnedDrawTargetExt 提供了这些转换的所有“所有权”版本,以及在此软件包中定义的所有转换(旋转、缩放、缓冲和刷新)。
有关详细信息,请参阅 此嵌入式图形 PR。
Buffered 转换
使用两个 PackedFrameBuffer 实例来实现无闪烁的增量更新到实际屏幕。
其他转换
Rotated- 将绘制目标旋转 90、180 或 270 度- (有争议)
Scaled- 按预定义的比率缩放绘制目标;向下缩放是有意义的,而不是向上 - 刷新 - 实现
Flushable-DrawTarget的扩展特质,具有flush方法。当您的显示需要在绘图结束时刷新,或使用缓冲转换时很有用。
文档、测试
目前没有 :p
依赖关系
~3MB
~35K SLoC