59个版本 (17个破坏性更新)
0.18.0 | 2024年4月17日 |
---|---|
0.16.2 | 2024年3月30日 |
0.13.0 | 2023年12月27日 |
0.11.4 | 2023年6月23日 |
0.7.1 | 2022年11月6日 |
#59 in 游戏开发
每月3,581次下载
在 pixels-graphics-lib 中使用
375KB
8K SLoC
Buffer Graphics Lib
这是一个简单的图形库,用于在缓冲区上绘图,主要设计用于与Pixels Graphics或Pixels一起使用
它具有基本的形状绘制、位图文本和图像渲染。
Graphics
结构体需要一个可变切片来工作,因此你很可能需要每帧创建结构体并将渲染库中的缓冲区传递给它,但这应该对性能没有太大影响,因为结构体几乎是空的。
使用方法
Cargo
在你的Cargo.toml
文件中添加
buffer-graphics-lib = "0.18.0"
代码
设置图形实例
let mut buffer: [u8; 1920000] = [0; 800 * 600 * 4]; //800 x 600 RGBA
let mut graphics = Graphics::new(&mut buffer, 800, 600)?;
然后绘图就相当简单了
let text = Text::new("Some text", (1,1), (WHITE, Large));
graphics.draw(&text);
graphics.draw_image(20, 20, &image);
let shape = Rect::new((10,10),(50,50));
let drawable = Drawable::from_obj(shape, stroke(BLUE));
graphics.draw(&drawable);
功能
默认功能:"serde"
image_loading
- 将png、bmp等图像文件加载为
Image
代码
let image = load_image("resources/example.png")?;
graphics.draw_image(40, 20, &image);
serde
- 为大多数结构体和枚举添加 derive
Serialize
和Deserialize
- 启用
graphics-shapes/serde
mint
启用 graphics-shapes/mint
依赖关系
~0.7–2.1MB
~46K SLoC