LooksSame API完全参考从compare到createDiff的实用指南【免费下载链接】looks-sameNode.js library for comparing images项目地址: https://gitcode.com/gh_mirrors/lo/looks-sameLooksSame 是一款强大的 Node.js 图片比较库能够帮助开发者轻松检测两张图片之间的差异。无论是 UI 自动化测试、视觉回归检查还是图片验证场景LooksSame 都能提供精准可靠的图片对比能力。本文将详细介绍 LooksSame 的核心 API从基础的图片比较到高级的差异可视化帮助你快速掌握这个实用工具的全部功能。快速开始安装与基础使用使用 LooksSame 前需要先通过 npm 安装这个库。在你的 Node.js 项目中执行以下命令npm install looks-same安装完成后你可以通过require语句引入 LooksSameconst looksSame require(looks-same);基础图片比较示例最基本的用法是比较两张图片是否相同const result await looksSame(path/to/image1.png, path/to/image2.png); console.log(result.equal); // true 或 false这个简单的调用会返回一个包含比较结果的对象其中equal属性表示两张图片是否相同。核心 API 详解looksSame(image1, image2, [options])这是 LooksSame 的主函数用于比较两张图片。它返回一个 Promise解析为包含比较结果的对象。参数说明image1第一张图片的路径或 Bufferimage2第二张图片的路径或 Bufferoptions可选配置对象包含以下属性tolerance颜色容忍度默认值为 JNDJust Noticeable Differencestrict是否严格比较默认为 falseignoreAntialiasing是否忽略抗锯齿差异默认为 trueignoreCaret是否忽略光标差异默认为 truecreateDiffImage是否创建差异图片默认为 false返回值返回一个对象包含以下属性equal布尔值表示两张图片是否相同metaInfo元信息对象diffBounds差异区域的边界信息diffClusters差异区域的聚类信息diffImage差异图片仅当createDiffImage为 true 时存在looksSame.getDiffArea(image1, image2, [options])获取两张图片之间差异区域的边界信息。当你只需要知道差异在哪里而不需要具体像素信息时这个方法非常有用。参数说明与looksSame函数的参数相同。返回值返回差异区域的边界对象包含left、top、right和bottom属性或者在没有差异时返回 null。looksSame.createDiff(options)创建一个可视化的差异图片将两张图片的差异部分用指定颜色高亮显示。参数说明options配置对象包含以下属性reference参考图片的路径或 Buffercurrent当前图片的路径或 Bufferdiff差异图片的保存路径可选highlightColor用于高亮差异的颜色默认为红色tolerance颜色容忍度ignoreAntialiasing是否忽略抗锯齿差异ignoreCaret是否忽略光标差异返回值如果提供了diff路径则返回 Promise 否则返回包含差异图片 Buffer 的 Promise。looksSame.colors(color1, color2, [options])比较两个颜色是否看起来相同基于 CIEDE2000 颜色差异公式。参数说明color1第一个颜色对象包含 R、G、B 属性color2第二个颜色对象包含 R、G、B 属性options可选配置对象包含tolerance属性返回值布尔值表示两个颜色是否看起来相同。实际应用示例基本图片比较const looksSame require(looks-same); async function compareImages() { const result await looksSame(benchmark/fixtures/reference.png, benchmark/fixtures/actual.png); if (result.equal) { console.log(图片相同); } else { console.log(图片不同差异区域, result.diffBounds); } } compareImages();创建差异图片下面的示例展示了如何创建一个差异图片将不同之处用蓝色高亮显示const looksSame require(looks-same); async function createDiffImage() { await looksSame.createDiff({ reference: benchmark/fixtures/reference.png, current: benchmark/fixtures/actual.png, diff: diff.png, highlightColor: #0000ff // 蓝色 }); console.log(差异图片已保存到 diff.png); } createDiffImage();比较两个颜色const looksSame require(looks-same); const color1 { R: 255, G: 0, B: 0 }; // 红色 const color2 { R: 254, G: 1, B: 1 }; // 接近红色的颜色 const result looksSame.colors(color1, color2, { tolerance: 2 }); console.log(result); // true因为这两个颜色在容忍度为 2 时看起来相同高级配置选项忽略抗锯齿差异抗锯齿是一种常见的图形处理技术可能会导致微小的颜色差异。LooksSame 可以忽略这些差异const result await looksSame(image1.png, image2.png, { ignoreAntialiasing: true, antialiasingTolerance: 2 // 抗锯齿容忍度 });忽略光标差异在截图比较中光标可能会导致不必要的差异。使用ignoreCaret选项可以忽略这些差异const result await looksSame(image1.png, image2.png, { ignoreCaret: true });自定义颜色容忍度对于需要更精确控制颜色比较的场景可以自定义容忍度const result await looksSame(image1.png, image2.png, { tolerance: 5 // 增大容忍度允许更大的颜色差异 });图片比较示例下面是两个登录界面的图片比较示例。这两张图片非常相似但登录按钮的颜色不同参考图片带有蓝色登录按钮的登录界面实际图片带有红色登录按钮的登录界面使用 LooksSame 比较这两张图片时会检测到按钮颜色的差异并返回相应的差异区域信息。总结LooksSame 提供了一套完整的图片比较解决方案从简单的相同性检查到复杂的差异可视化。通过本文介绍的 API你可以轻松地将图片比较功能集成到你的 Node.js 项目中无论是用于自动化测试、视觉回归检查还是其他需要图片验证的场景。掌握这些 API 后你可以根据具体需求灵活配置比较参数以获得最准确的比较结果。无论是忽略抗锯齿、自定义颜色容忍度还是创建差异图片LooksSame 都能满足你的需求帮助你构建更可靠的图片处理应用。【免费下载链接】looks-sameNode.js library for comparing images项目地址: https://gitcode.com/gh_mirrors/lo/looks-same创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考