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