Можно ли сравнить два изображения в Javascript?

Есть ли способ сравнить два файла изображения, которые имеют разные имена файлов? Поэтому я смотрю, равны ли они с javascript. Это возможно?

Использование для этого: У меня есть галерея изображений, которые должны появиться в лайтбоксе. Когда лайтбокс открывается, я подключаюсь к обратному вызову, чтобы проверить наличие дубликатов изображений, и, когда они найдены, удалим их из галереи лайтбоксов, чтобы пользователи не видели повторяющиеся изображения.

 Tyler Crompton22 июн. 2012 г., 18:06
Учитывая, что JavaScript не имеет доступа к файловой системе, нет.
 user38180022 июн. 2012 г., 18:11
Попытка увидеть, идентичны ли два изображения, даже если они имеют разные имена файлов.
 nullpotent22 июн. 2012 г., 18:07
Какое сравнение вы пытаетесь сделать?

Ответы на вопрос(3)

вы не можете получить доступ к файловой системе без пользователей. согласие.

Но если вы хотите сравнить изображения, доступные для кода javascript, например, с помощью URL-адреса или поля загрузки, вы должны проверить этот вопрос SO:Сравните два изображения в JavaScript

По сути, вы конвертируете изображение вcanvas элемент и использоватьbase64 значение для сравнения двух, так же, как люди подтверждают, является ли документ «действительным» проверяя контрольную сумму этого документа.

Решение Вопроса

Check if the images have the same width and height. If not, they can't be the same. Create a canvas that will fit both images side-by-side. Draw the images on the canvas. Compare them pixel-for-pixel. This can be done fairly easily using code borrowed from getPixel from HTML Canvas? Remember to break out of loops as soon as a single pixel doesn't match. Your worst-case runtime will be O(wh), which occurs when the images are actually equal.
 22 июн. 2012 г., 18:11
Да, именно то, что я был в процессе набора текста. Это сработает, но будет очень, очень медленным для большого количества изображений.
 22 июн. 2012 г., 18:13
Эх, PHP тоже должен был бы делать попиксельное сравнение. Вы просто помещаете нагрузку на свой сервер, а не распределяете ее на компьютер пользователя.
 22 июн. 2012 г., 18:20
Извините, я понял, что сделал ужасную работу, объясняя, что мне нужно ... Я отредактировал пост, чтобы вы могли более четко видеть, что я пытаюсь сделать.
 22 июн. 2012 г., 18:12
Хммм, оглядываясь назад, я думаю, что лучший подход для меня - использовать AJAX и PHP для обработки сравнения .... Кажется, использование JS довольно сложно.

И не забудьте также проверить ширину и высоту.

Чтобы найти размер файла изображения

 22 июн. 2012 г., 18:13
Пожалуйста, приведите мне пример, я взволнован по этому поводу.
 22 июн. 2012 г., 19:14
хорошо, спасибо за эту информацию. @ Рику не нужна такая чувствительность, поэтому он может использовать мой метод.
 22 июн. 2012 г., 18:23
adamhaskell.net/img/imgsize Одно и то же изображение три раза, разные методы сохранения, разные размеры файлов, один и тот же формат.
 22 июн. 2012 г., 18:12
Два изображения могут быть визуально идентичны, имея разные размеры файлов. Сравните полное изображение PNG в формате RGB с тем же изображением в индексированном формате PNG. Сравните это изображение с индексированным PNG с изображением с неиспользованными цветами в палитре.

Ваш ответ на вопрос