14 个版本 (9 个重大更新)
0.10.1 | 2020年7月4日 |
---|---|
0.9.1 | 2020年6月3日 |
0.9.0 | 2020年1月18日 |
0.8.0 | 2019年8月17日 |
0.1.0 | 2017年12月18日 |
#43 in #raster
790KB
19K SLoC
resvg 的 Qt 后端
resvg
后端实现使用 Qt 库。
构建
由于目前还没有 Rust 的 Qt 绑定,我们正在使用自己的。这使构建过程变得稍微复杂一些。
在 Windows 和 macOS 上,构建过程包括设置 QT_DIR
环境变量,并运行 cargo build
。在 Linux 上,我们使用 pkg-config
。
在 Windows 上使用 MSVC
安装
stable-x86_64-pc-windows-msvc
Rust 目标。- 使用 MSVC 构建的 Qt。
使用 x64 Native Tools Command Prompt for VS 2017
命令提示符构建
set PATH=%userprofile%\.cargo\bin;%PATH%
set QT_DIR=C:\Qt\5.12.0\msvc2017_64
rustup.exe default stable-x86_64-pc-windows-msvc
cargo.exe build --release
您可以使用任何其他 Qt MSVC 构建,即使是 32 位。我们这里使用 Qt 5.12.0 仅作为示例。
在 Windows 上使用 MinGW
安装
stable-x86_64-pc-windows-gnu
Rust 目标。- 使用 MinGW 64 位 + Qt 中捆绑的 MinGW 构建的 Qt。
使用 cmd.exe
构建
set PATH=C:\Qt\5.12.0\mingw73_64\bin;C:\Qt\Tools\mingw730_64\bin;%userprofile%\.cargo\bin;%PATH%
set QT_DIR=C:\Qt\5.12.0\mingw73_64
rustup.exe default stable-x86_64-pc-windows-gnu
cargo.exe build --release
您可以使用任何其他 Qt mingw 构建,我们这里使用 Qt 5.12.0 仅作为示例。
在 Linux 上
使用您的发行版的包管理器安装 Qt 和 harfbuzz
。
在 Ubuntu 上,您可以通过以下方式安装它们:
sudo apt install qtbase5-dev libharfbuzz-dev
构建 resvg
cargo build --release
如果您不想使用系统 Qt,您可以更改 PKG_CONFIG_PATH
变量。
PKG_CONFIG_PATH='/path_to_qt/lib/pkgconfig' cargo build --release
在 macOS 上
使用 官方 Qt 安装程序
QT_DIR=/Users/$USER/Qt/5.12.0/clang_64 cargo build --release
或 homebrew
brew install qt
QT_DIR=/usr/local/opt/qt cargo build --release
我们这里使用 Qt 5.12.0 仅作为示例。
运行时依赖
resvg-qt
仅依赖于 QtCore 和 QtGui 库以及 imageformats/qjpeg 插件。
技术上,任何 Qt 5 版本都应该可以工作,但我们只支持 Qt >= 5.6。
运行 resvg CLI
cargo run --release -- in.svg out.png
生成的二进制文件可在以下位置找到: target/release/resvg-qt
运行示例
注意:我们假设您已经设置了上文所述的 QT_DIR
变量或 pkg-config。
一个简单的 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
许可证
依赖项
约 2-3MB
约 60K SLoC