1 Востаннє редагувалося vitalica (24.07.2014 05:57:45)

Тема: Визначити колір пікселя картинки

Використовую для створення будь-якої клікалки в браузері, плагін iMacros. Для того, щоб здійснювати якісь умови, використовую файл *.js , з яким співпрацює скрипт iMacros.
Ось такий зв'язок між *.js і *.iim:

Прихований текст

'Запуск макроса із JS-файла
iimPlay("Folder/input.iim",60);
'Отримати дані
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:double_your_doge_stake EXTRACT=TXT
SET !VAR1 EXTRACT
'Передача VAR1 у JS
ADD !EXTRACT {{VAR1}}
'Отримання змінної із макроса
var var1 = iimGetLastExtract(1);
'Виведення на дисплей консолі
iimDisplay(var1);

Потрібно розрізняти скачані картинки за кольором деяких пікселів, і підставляти текст капчі. Прості команди JS працюють, а об'єкти і методи - ні.
Визначення кольору пікселя у Delphi:

Прихований текст

Procedure TForm1.Button1Click(Sender: TObject);
Var
Dc : HDC;
Pix : Cardinal;
X: Integer;
Y: Integer;
Begin
Dc:=GetDC(0);
Pix:=GetPixel(Dc, X, Y);
ReleaseDC(0, Dc);
End;

А тут є приклад піпетки для визначення кольору http://ruseller.com/lessons.php?rub=1&id=1500, тільки як це реалізувати локально, не розумію. Навіть,
var image = new Image();   видає помилку.
Чи то потрібно підключати якісь бібліотеки, чи описувати всі функції самостійно. Чи використовувати сторонню програму *.exe, для обробки зображень? Наведіть, хто-небуть на правильний шлях.

2

Re: Визначити колір пікселя картинки

Можна через канвас робити таку штуку.

3 Востаннє редагувалося vitalica (24.07.2014 20:13:48)

Re: Визначити колір пікселя картинки

Ось, я запускаю color.js в iMacros, а він видає якусь помилку ReferenceError: Image is not defined, line 14 (Error code: -991). І з чим це пов'язано, не розумію.
var canvas;
var ctx;

var img = 'captcha1.jpg';

    // Виводимо зображення
    var image = new Image();
    image.onload = function () {
        ctx.drawImage(image, 0, 0, image.width, image.height);
    }
    image.src = img;

    // Створюємо об'єкт canvas
    canvas = document.getElementById('panel');
    ctx = canvas.getContext('2d');

        var canvasX = 0;
        var canvasY = 15;

        var imageData = ctx.getImageData(canvasX, canvasY, 1, 1);
        var pixel = imageData.data;

        iimDisplay(imgData);  //Виведення на дисплей або інша дія