尝试在节点中使用GraphicsMagick)gm模块比较两个本地.png文件,并将它们的差异作为第三个.png输出,以便稍后进行进一步分析。
使用http://aheckmann.github.io/gm/docs.html中的示例代码:
var gm = require('gm');
var options = {
file: '/home/ubuntu/workspace/difference/diff.png',
highlightColor: 'yellow', // optional. Defaults to red
// tolerance: 0.00
}
gm.compare("/home/ubuntu/workspace/images/logo.png", "/home/ubuntu/workspace/images/logo2.gif", options , function (err, isEqual, equality, raw) {
if (err) throw err;
console.log('The images are equal: %s', isEqual);
console.log('Actual equality: %d', equality)
console.log('Raw output was: %j', raw);
});
尽管两个文件完全不同,但gm总是将它们的相等性报告为true,除非我将其公差传递给0.00 - 因此生成的diff.png只是logo1.png的ywllo着色(突出显示)版本
我希望的是(a)发现两个文件不同的代码和(b)差异只是突出显示黄色差异区域,而不是整个图像着色。
一定是我做错了什么,但是什么?
答案 0 :(得分:0)
在你的描述中,你说两个png文件,但在你的代码中,第二个是.gif文件。这是你问题的根源吗?您可以通过使用GraphicsMagick转换为相同的格式来解决它。