50 个版本
0.22.1 | 2023年8月17日 |
---|---|
0.22.0 | 2023年4月2日 |
0.21.0 | 2023年3月14日 |
0.20.3 | 2022年12月13日 |
0.0.8 | 2021年6月26日 |
在 图形API 中排名第 116
每月下载量 86
21MB
2K SLoC
包含 (Windows DLL, 20MB) dxcompiler.dll, (Windows DLL, 1.5MB) dxil.dll
mltg
Direct2D 包装库
使用概述
1. 创建一个 mltg::Context
和一个 mltg::Factory
let ctx = mltg::Context::new(mltg::Direct2D::new()?)?;
let factory = ctx.create_factory();
2. 创建渲染目标
在 winit 的情况下。
let window_size = window.inner_size().to_logical::<f32>(window.scale_factor());
let mut render_target = ctx.create_render_target(
window.raw_window_handle(), // winit window
(window_size.width, window_size.height),
)?;
3. 创建资源
例如,创建实色画笔。
let brush = factory.create_solid_color_brush((1.0, 1.0, 1.0, 1.0))?;
4. 绘制
例如,绘制填充颜色的矩形。
ctx.set_scale_factor(window.scale_factor() as _);
ctx.draw(&render_target, |cmd| {
cmd.clear((0.0, 0.0, 0.3, 0.0));
cmd.fill(
&mltg::Rect::from_points((10.0, 10.0), (100.0, 100.0)),
&brush,
);
});
版权 (c) 2021 LNSEAB
依赖项
~130MB
~2M SLoC