5

有没有办法比较两个具有不同文件名的图像文件?所以我想看看它们是否与javascript相等。这可能吗?

用途:我有一个需要在灯箱中弹出的图片库。当灯箱打开时,我将连接到回调以检查重复的图像,当找到时,将它们从灯箱库中删除,这样用户就不会看到重复的图像。

4

3 回答 3

5

我想你可以。伪代码:

  • 检查图像是否具有相同的宽度和高度。如果不是,它们就不可能相同。
  • 创建一个可以并排放置两个图像的画布。
  • 在画布上绘制图像。
  • 逐个像素地比较它们。这可以使用 从 HTML Canvas 中的 getPixel 借来的代码相当容易地完成?
  • 记住,一旦单个像素不匹配,就要跳出循环。
  • 您最坏情况的运行时间将是 O(wh),这发生在图像实际上相等时。
于 2012-06-22T16:08:30.430 回答
0

检查图像大小是否相等。

并且不要忘记检查宽度和高度。

查找图像文件大小

于 2012-06-22T16:10:28.080 回答
0

Tyler 是正确的,未经用户同意,您不能访问文件系统。

但是,如果您想比较 javascript 代码可用的图像,例如通过使用 url 或使用上传字段,您应该查看这个 SO 问题:Compare two Images in JavaScript

基本上,您将图像转换为canvas元素并使用该base64值来比较两者,就像人们通过检查该文档的校验和来确认文档是否“有效”一样。

于 2012-06-22T16:11:24.227 回答