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-gnurustup 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