有没有办法比较两个具有不同文件名的图像文件?所以我希望看看他们是否与javascript相同。这可能吗?
用于此: 我有一个需要在灯箱中弹出的图像库。当灯箱打开时,我挂钩回调以检查重复的图像,当找到时,将它们从灯箱库中移除,这样用户就不会看到重复的图像。
答案 0 :(得分:5)
我想你可以。伪码:
- 检查图像是否具有相同的宽度和高度。如果没有,他们就不一样了。
- 创建一个兼容两个图像的画布。
- 在画布上绘制图像。
- 逐像素地比较它们。使用从getPixel from HTML Canvas?
借来的代码可以非常轻松地完成此操作- 请记住,只要单个像素不匹配,就会突破循环。
- 您的最坏情况运行时将是O(wh),这在图像实际上相等时发生。
答案 1 :(得分:0)
答案 2 :(得分:0)
Tyler是正确的,未经用户同意,您无法访问文件系统。
但是如果你想比较javascript代码可用的图片,例如使用网址或使用上传字段,你应该查看这个问题:Compare two Images in JavaScript
基本上,您将图像转换为canvas
元素并使用base64
值来比较两者,就像人们通过检查文档的校验和来确认文档是否“有效”一样