#svg #render #raster #resvg #cairo #image #deprecated

已废弃 bin+lib resvg-cairo

[已废弃] 请使用 resvg crate 代替

2 个版本

0.10.1 2020年7月4日
0.10.0 2020年6月19日

#5 in #resvg

MPL-2.0 许可证

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 上

使用您发行版的包管理器安装 cairoharfbuzz

在 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

许可证

MPLv2.0.

依赖项

~4.5MB
~82K SLoC