4个版本 (2个破坏性更新)
0.10.0 | 2020年6月19日 |
---|---|
0.9.1 | 2020年6月3日 |
0.9.0 | 2020年1月18日 |
0.8.0 | 2019年8月17日 |
在 图形API 中排名第688
790KB
19K SLoC
resvg的Skia后端
resvg
后端实现,使用Skia 库。
构建
Skia的构建过程并不简单,因此我们不自动构建它。调用者应手动构建它并设置相应的环境变量
SKIA_DIR
应指向包含Skiainclude
目录的Skia目录。SKIA_LIB_DIR
应指向包含skia.dll
的Skia目录。
此外,Skia没有稳定的API,因此我们只能支持固定版本。目前是m76。
在Windows上使用MSVC
安装
stable-x86_64-pc-windows-msvc
Rust 目标。- Skia本身(我们假设您已经构建了一个)。
SKIA_DIR
应指向包含Skia include
目录的Skia目录。SKIA_LIB_DIR
应指向包含 skia.dll
的Skia目录。
使用 x64 Native Tools Command Prompt for VS 2017
命令提示符shell进行构建
set PATH=%userprofile%\.cargo\bin;%PATH%
set SKIA_DIR=path
set SKIA_LIB_DIR=path
rustup.exe default stable-x86_64-pc-windows-msvc
cargo.exe build --release
在Linux上
我们假设您已经构建了Skia本身。
使用您发行版的包管理器安装 harfbuzz
。
在Ubuntu上,您可以通过以下方式安装它:
sudo apt install libharfbuzz-dev
构建 resvg
SKIA_DIR=path SKIA_LIB_DIR=path cargo build --release
在macOS上
我们假设您已经构建了Skia本身。
SKIA_DIR=path SKIA_LIB_DIR=path cargo build --release
运行时依赖
resvg-skia
只依赖于Skia本身。
在Linux上,还需要 harfbuzz
。
运行 resvg CLI
cargo run --release -- in.svg out.png
生成的二进制文件可以在以下位置找到:target/release/resvg-skia
运行示例
一个简单的 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
许可
依赖项
约 4MB
约 74K SLoC