2 个不稳定版本
0.12.0 | 2020年11月13日 |
---|---|
0.11.0 | 2020年11月13日 |
#684 in 图像
97KB
2.5K SLoC
raqote 后端用于渲染 usvg 数据
usvg
渲染实现,使用 raqote 库。
警告:raqote 库仍在开发中,相对不稳定。您应该优先考虑其他后端。
此后端故意不提供 C API。
构建
目前,这是唯一一个使用基于 Rust 的 2D 库的后端,因此构建过程相对简单。
遗憾的是,您仍然需要一个 C++ 编译器来构建 harfbuzz。
在 Windows 上使用 MSVC
安装 stable-x86_64-pc-windows-msvc
Rust 目标。
使用 x64 Native Tools Command Prompt for VS 2017
命令行构建
set PATH=%userprofile%\.cargo\bin;%PATH%
rustup.exe default stable-x86_64-pc-windows-msvc
cargo.exe build --release
在 Windows 上使用 MSYS2
安装 stable-x86_64-pc-windows-gnu
Rust 目标。然后
pacman -S mingw-w64-x86_64-gcc
rustup default stable-x86_64-pc-windows-gnu
cargo build --release
您可以使用相同的 i686 目标。
在 Linux 上
使用您的发行版软件包管理器安装 harfbuzz
。
在 Ubuntu 上您可以通过以下方式安装
sudo apt install libharfbuzz-dev
构建 resvg
cargo build --release
在 macOS 上
cargo build --release
运行时依赖
harfbuzz
在 Linux 上。在其他操作系统上它将被静态构建。
运行 resvg CLI
cargo run --release -- in.svg out.png
生成的二进制文件可在以下位置找到:target/release/resvg-raqote
运行示例
一个简单的 SVG 到 PNG 转换器
cargo run --example minimal -- in.svg out.png
使用手动构建的 SVG 渲染树渲染图像
cargo run --example custom_rtree
在输入 SVG 中绘制所有形状的边界框
cargo run --example draw_bboxes -- bboxes.svg bboxes.png -z 4
许可证
依赖
~6MB
~118K SLoC