0.1.0 |
|
---|
#18 in #lcs
22KB
423 行
lcs-png-diff-rs
使用最长公共子序列算法生成差分位图(PNG)。本项目灵感来源于 LCS-IMAGE-DIFF。但它将 LCS-IMAGE-DIFF 和其依赖的算法包 LCS-DIFF 合并在一起。
特性
- 仅支持PNG图像作为输入和输出
- 支持简单的命令行界面
- 支持批量差分操作
示例
- 比较一对png文件
lcs-png-diff \
-b path/to/before.png \
-a path/to/after.png \
-d path/to/diff/result.png
- 比较多对png文件
lcs-png-diff \
-j path/to/pair.json
批量差分操作输入的JSON模式
{
"$schema": "https://json-schema.fullstack.org.cn/draft-04/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"before": {
"type": "string"
},
"after": {
"type": "string"
},
"result": {
"type": "string"
}
},
"required": [
"before",
"after"
]
}
]
}
result
属性是可选的。如果省略,结果PNG文件将生成在原始PNG文件的同一位置,并以 "_result" 为基本名称。例如
[
{
"before": "tests/fixtures/pricing.png",
"after": "tests/fixtures/pricing_after.png"
},
{
"before": "tests/fixtures/slider.png",
"after": "tests/fixtures/slider_after.png"
},
{
"before": "tests/fixtures/text-area.png",
"after": "tests/fixtures/text-area_after.png"
}
]
使用上述JSON内容作为批量操作输入将在相对路径 tests/fixtures/fixtures/
中生成三个名为 pricing_result.png、slider_result.png 和 text-area_result.png 的文件。
基准测试
cargo criterion
许可证
MIT许可证 (MIT)
版权所有 (c) 2022 @jianliao
在此特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用该软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得软件的人提供使用该软件的权利,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是基于合同、侵权或其他方式产生的,以及与软件或使用或操作软件有关。
依赖关系
~4.5–6.5MB
~118K SLoC