Идентифицировать картинки
Вложений: 2
Здравствуйте. Такая ситуация: есть на странице две картинки, полученные по своим временным ссылкам. Эти картинки являются ссылками и могут меняться местами друг с другом.
<table> <tbody> <tr><td> <a class="active_s" href="/hunting/955?r=1357817950.5097"><img src="/hunting/image/955?r=1357817950.5097" width="110" height="15" alt="[картинка]"></a> </td><td width="50%"> </td><td> <a class="active_s" href="/hunting/54?r=1357817950.5097"><img src="/hunting/image/54?r=1357817950.5097" width="110" height="15" alt="[картинка]"></a> </td></tr> </tbody> </table> По хтмл-коду неясно, какая где, их пиксельные размеры одинаковы - то есть просто так их не отличишь. Нужно как-нибудь идентифицировать эти картинки: узнать их размер в битах, проверить цвет определённого пикселя или "прочитать" их как текст (а-ля виндовый блокнот) или даже как двоичный/хекс код. Всё, что нашел в гугле либо не работает, либо не подходит, либо я не понял (в основном). Надеюсь на вашу помощь в реализации одного из способов. Картинки прикрепляю. По идее, скрипт должен быть такой: var data = [], canvas = document.createElement('canvas'), context = canvas.getContext('2d'); (function (i) { if (i <= 1) { data.push(document.getElementsByClassName('active_s')[i].getElementsByTagName('img')[0]); var image = new Image(), args = arguments; image.src = data[i].src; image.onload = function () { context.clearRect(0, 0, canvas.width, canvas.height) context.drawImage(image, 0, 0); if (context.getImageData(5, 9, 1, 1).data[0]) { data[i].parentNode.click(); // Клацаем по "Искать путь" } else args.callee(++i); }; }; })(0); НО он не подходит.. в нем ошибка есть... Помогите пожалуйста! |
Какая в нем ошибка? Че ты загадками говоришь-то, а?
|
danik.js,
вот ссылка с точно такой же проблемой, только картинки немного другие. http://www.cyberforum.ru/javascript/...827-page2.html |
Цитата:
там не такая же проблема, а такой же текст, то есть это ваша тема? и вы за полгода не решили проблему? в любом случае не вполне понятно, что вам нужно не можете различить эти две картинки? тогда сохраните их в переменные при загрузке страницы или присвойте им специальные id-шники при загрузке страницы |
mta88,
Объясню точней. Я, как и многие в моём возрасте, играю в браузерные онлайн-игры. То что написано в той теме (на которую я ссылку кидал) - проблема решена. Мне нужен похожий скрипт - который только для других картинок. Ситуация такая: Есть элементарная браузерная игра, без флеша, js и прочих наворотов. В ней есть ПВЕ-режим, в котором можно очень быстро и просто прокачать уровень персонажа. Но в нём есть "капча": время от времени выводятся две картинки, значения которых "искать путь" и "уйти". Они в хтмл-коде неразличимы, загружаются по временной ссылке в которой используется случайное значение - то есть по src отличить их невозможно, и загрузить их второй раз тоже не получится. И нужно как-то отличить эти картинки одну от другой средствами JavaScript. Вопрос: как? |
Цитата:
задача вроде понятна если проблемы различаются только картинками, то наверно нужно изменить числа в строке 10, возможно первые 4 из 5 if (context.getImageData(5, 9, 1, 1).data[0]) { но так лениво сравнивать пиксели может кто другой поможет |
mta88,
Тимур, расскажите как считать - я сам посчитаю... |
Цитата:
Я бы сказал "используй код, который ты сам принес", но ты говоришь Цитата:
Так что ничего подсказать не могу. |
Цитата:
var data = context.getImageData(5, 9, 1, 1).data; if (data[0]==100 && data[2]==200) { тут проверяю, что красный равен 100 и синий равен 200 не знаю, понятно ли то что я написал придется вам наверно подучить javascript |
Часовой пояс GMT +3, время: 17:01. |