5 个版本
0.2.0 | 2023年12月22日 |
---|---|
0.1.3 | 2023年12月7日 |
0.1.2 | 2023年12月5日 |
0.1.1 | 2023年12月3日 |
0.1.0 | 2023年11月27日 |
#384 在 图像
每月 44 次下载
490KB
984 行
SVG 图像的交互式 diff 工具。
功能
支持缩放和拖动的 SVG 图形比较滑动。
安装
要安装 lukaj 的预编译版本,请访问 最新版本 页面,并下载适用于您系统的存档。提供的二进制文件是 Windows 和 Linux 的静态可执行文件。
如果您是 Rust 程序员,可以使用 cargo
安装 lukaj。它支持两种图形后端,这些后端可以通过 cargo 特性 启用或禁用。默认情况下,use-rsvg
特性仅在从源安装时可用,发布页面上的预编译二进制文件仅包含默认功能集。
功能名称 | SVG 库 | 2D 渲染库 | 预编译的二进制发布 |
---|---|---|---|
use-usvg (默认) |
resvg | tiny-skia | 是 |
use-rsvg |
librsvg | cairo | 否 |
根据操作系统和所选功能集,lukaj 可能需要额外的开发库。
在 Ubuntu Linux 上 (点击展开)
-
仅使用默认
use-usvg
功能时$ sudo apt-get install libsdl2-dev $ cargo install lukaj
-
使用额外的
use-rsvg
功能时$ sudo apt-get install build-essential libcairo2-dev libgdk-pixbuf-2.0-dev \ libglib2.0-dev libpango1.0-dev libsdl2-dev libxml2-dev $ cargo install lukaj --feature user-rsvg
在 Windows 上 (使用 MSYS2) (点击展开)
-
安装 MSYS2 并从其终端运行
-
对于默认
use-usvg
功能$ pacman -S mingw-w64-x86_64-SDL2
-
对于额外的
use-rsvg
功能$ pacman -S mingw-w64-x86_64-gtk4 mingw-w64-x86_64-gettext \ mingw-w64-x86_64-libxml2 mingw-w64-x86_64-pkgconf \ mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
-
-
将 mingw 二进制文件路径 (
C:\msys64\mingw64\bin
) 添加到系统Path
-
将默认 rust 工具链更改为
stable-gnu
rustup toolchain install stable-gnu rustup default stable-gnu
-
运行 cargo install 命令
-
仅对于默认功能
$ cargo install lukaj
-
对于额外的
use-rsvg
功能$ cargo install lukaj --features use-rsvg
-
有关不同设置的说明,请参阅此 使用 Rust 和 GTK4 进行 GUI 开发的指南。
用法
要比较两个 SVG 文件,请运行
$ lukaj [path 1] [path 2]
Lukaj 使用以下鼠标/键盘控制
按钮 | 操作 |
---|---|
左键点击 | 移动 diff 分隔符 |
右键点击 | 移动图像 |
滚动 | 放大和缩小 |
R | 重置图像位置 |
Esc | 退出 |
完成 lukaj 选项 (点击展开)
$ lukaj --help
Interactive diff tool for SVG images
Usage: lukaj [OPTIONS] [FILES]...
Arguments:
[FILES]... Files to compare
Options:
-s, --scale <VALUE> Sets a scaling factor
--backend <BACKEND> Preferred backend [default: rsvg-with-cairo]
[possible values: rsvg-with-cairo, usvg-with-skia]
-h, --help Print help
-V, --version Print version
Git 集成
Lukaj 可以用作 git difftool。要添加 git diff-svg
自定义命令,将以下部分复制并粘贴到 .gitconfig
文件中
[difftool "lukaj"]
cmd = ~/.cargo/bin/lukaj $LOCAL $REMOTE
[alias]
diff-svg = "difftool -t lukaj -y"
其他集成
依赖项
~20–36MB
~598K SLoC