БлогNot. Комментарии к статье #1829 (1-6)

Javascript: находим разницу между картинками в процентах


Комментарии отсортированы по убыванию даты, нажмите сюда, чтобы отсортировать их по возрастанию даты


Автор: Рома IP: определён

И ещё непонятно, сравнение будет выполняться только на компе, или требуется инет?

07.07.2023, 13:19

Ответ: Сравнение будет "на компе", то есть, на стороне клиента. Скрипт можно запускать как обычный файл.


Автор: Рома IP: определён

А можно для тупеньких? Вот сохранил я себе на комп jquery.min.js. Какое содержание бат файла(ну или js или любого языка бейсикоподобного) должно быть, чтоб набрав: 1.bat файл_изображения_1 файл_изображения_2 мне выскочило сообщение в процентах соответствия их между собой?

07.07.2023, 13:05

Ответ: Поле загрузки файла в HTML такой "автоматизации" не предусматривает, действие по загрузке должно быть подтверждено пользователем, так что это задача не для батника


Автор: Роман IP: определён

К сожалению, в этом случае не работает функция сравнения изображений: https://rzahprojects.000webhostapp.com/temp/image.html (см. исходный код страицы)

14.06.2020, 23:21

Ответ: Значит, если файл загружали "не сами", срабатывает cross domain security error для метода getImageData, тебе говорили правильно.

А клиентское приложение в принципе не может обойти ограничения серверной стороны, если не считать каких-то конкретных "эксплойтов" или "дыр" в ПО серваков.

Тут уже только так ну или картинки проксировать через свой сервер серверным же скриптом, что ты, видимо, и делаешь


Автор: Роман IP: определён

Спасибо, у меня тоже так работает. Но по ссылке хочу передавать, чтобы за один раз можно было загрузить несколько изображений (те, которые сравниваются и те, с которыми сравниваются). На PHP реализовать получилось, но скорость выполнения оставляет желать лучшего (даже когда выбрано всего 10 изображений). Поэтому хотелось бы на JS. Google не помог найти ответ( Вы знаете как можно реализовать сравнение нескольких изображений, передаваемых по URL?

14.06.2020, 22:00

Ответ: А есть разница между строкой, переданной из текстового поля и строкой, взятой откуда-то ещё?

img1 = new Image();//создать рисунок
img1.src = url; //записать URL рисунка в объект
img1.onload = function() {
 //назначить рисунок канве и т.п.
}
Наконец, что мешает сделать не отдельными объектами "Image", а массив из этих объектов?
var imgArray = new Array();
imgArray[0] = new Image();
imgArray[0].src = 'url_1';
//...


Автор: Роман IP: определён

А можете уточнить куда именно вставить URL? На форумах мне горорили только о настройке сервера. Вот исправленный код, который не работает: view-source: https://rzahprojects.000webhostapp.com/temp/image.html Заранее спасибо!

14.06.2020, 17:51

Ответ: В поле ввода "Рисунок 1" или "Рисунок 2", а куда ещё? У меня вставляется прекрасно в Firefox и Edge, других браузеров не держу (скрин)


Автор: Роман IP: определён

А возможно тоже самое, но чтобы изображение брать по ссылке, а не из файла? Или браузер это не позволит по полтике безопасности (без доп. настройки сервера)?

13.06.2020, 18:36

Ответ: Код откроет и URL, если его указать в поле "Рисунок 1" или "Рисунок 2", в том числе, из другого домена. Работа-то ведётся над загруженной копией, а не над оригиналом, поэтому ограничений по безопасности нет