6个版本
0.3.1 | 2024年5月11日 |
---|---|
0.3.0 | 2023年11月6日 |
0.2.0 | 2022年8月8日 |
0.1.2 | 2022年6月24日 |
0.1.0 | 2022年5月17日 |
#160 in 嵌入式开发
用于 嵌入式UI
40KB
500 行
嵌入式-canvas
canvas - 用于绘画的布或框
注意: 此crate仍在开发中,版本之间可能会有破坏性更改。
嵌入式画布
是一个方便的库,用于 嵌入式图形
,并提供了 Canvas
和 CanvasAt
,您可以在嵌入式显示上轻松绘制任何内容,然后再绘制像素。
基于 嵌入式图形核心
和 嵌入式图形
(参见 库功能 中的 transform
功能)。
此库是 no_std
,并且具有 2 组画布
Canvas
和CanvasAt
- 需要alloc
功能CCanvas
和CCanvasAt
- 不需要alloc
功能,因为它们使用常量泛型。
此库中画布的主要优点是
- 透明度 - 未绘制的像素不会覆盖显示上的像素。
示例:透明度 - 在显示上已经绘制了一个方形的区域,然后在上面绘制了一个圆。
- 裁剪 - 能够裁剪画布,只留下您想要绘制在显示上的部分。这在您想部分显示文本、图形和图像时非常有用。
示例:裁剪文本 - 左侧绘制了完整的画布内容,而右侧只裁剪并绘制了部分内容。
如何使用画布
您可以处理 两个 主要画布
Canvas
/ CCanavas
一个可以在原点 Point::<:zero() 上绘制的画布。该画布的位置对于提供的显示尚未设置。
绘制后,使用以下方法确定其在显示上的位置:
Canvas::<:place_at(top_left: Point)::> CanvasAt
(具有alloc
功能)或CCanvas::<:place_at(top_left: Point)::> CCanvasAt
Canvas::<:place_center(center: Point)::> CanvasAt
(具有alloc
功能)或CCanvas::<:place_center(center: Point)::> CCanvasAt
CanvasAt
/ CCanvasAt
CanvasAt
/CCanvasAt
是一种可以在指定位置绘制到显示上的画布类型(因此得名 CanvasAt
/CCanvasAt
)。
使用 CanvasAt
/CCanavasAt
的有两种方法
- 直接在显示上的指定位置放置
CanvasAt
/CCanavasAt
并在其中绘制。 - 创建一个
Canvas
/CCanvas
,当准备好在显示上绘制时,使用以下方法将Canvas
/CCanvas
放置在指定位置:Canvas::place_at(top_left: Point) -> CanvasAt
(具有alloc
功能) 和CCanvas::place_at(top_left: Point) -> CCanvasAt
Canvas::place_center(center: Point) -> CanvasAt
(具有alloc
功能) 和CCanvas::place_center(center: Point) -> CCanvasAt
箱子特性
default
特性 -transform
alloc
- 启用Canvas
和CanvasAt
。transform
- 启用CanvasAt
的embedded_graphics::transform::Transform
特性实现。
许可证
根据您的选择,许可协议为 Apache License, Version 2.0 或 MIT license。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在此项目中的贡献,都将如上所述双重许可,不附加任何额外条款或条件。
依赖项
~0.4–1.1MB
~15K SLoC