2 个版本
0.10.1 | 2020年7月4日 |
---|---|
0.10.0 | 2020年6月19日 |
#5 in #resvg
760KB
18K SLoC
resvg 的 cairo 后端
resvg
后端实现,使用 cairo 库。
构建
此后端使用 gtk-rs 项目。
在 Linux 上构建应该直接可用,但其他操作系统更复杂。
注意:我们不使用 gdk-pixbuf
crate 用于光栅图像,因为它太重了。
在 Windows 上使用 MSYS2
安装 stable-x86_64-pc-windows-gnu
Rust 目标。
使用 MSYS2 shell 构建
pacman -S mingw-w64-x86_64-cairo
rustup default stable-x86_64-pc-windows-gnu
cargo build --release
您也可以用相同的方式使用 i686 目标。
在 Linux 上
使用您发行版的包管理器安装 cairo
和 harfbuzz
。
在 Ubuntu 上您可以通过以下方式安装它们:
sudo apt install libcairo2-dev libharfbuzz-dev
构建 resvg
cargo build --release
在 macOS 上
使用 homebrew
brew install cairo
cargo build --release
运行时依赖
resvg-cairo
只依赖于 cairo。不需要 pango
。
在 Linux 上,也需要 harfbuzz
。
运行 resvg CLI
cargo run --release -- in.svg out.png
生成的二进制文件可以在以下位置找到:target/release/resvg-cairo
运行示例
简单的 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
许可证
依赖项
~4.5MB
~82K SLoC