Изменить массив RGBA Javascript

Вот моя функция JS:

UTIF._imgLoaded = function(e) {
    var page = UTIF.decode(e.target.response)[0], rgba = UTIF.toRGBA8(page), w=page.width, h=page.height;

    var string = rgba.join();
    console.log("rgba : ", rgba);

    var ind = UTIF._xhrs.indexOf(e.target), img = UTIF._imgs[ind];
    UTIF._xhrs.splice(ind,1);  UTIF._imgs.splice(ind,1);
    var cnv = document.createElement("canvas");  cnv.width=w;  cnv.height=h;
    var ctx = cnv.getContext("2d"), imgd = ctx.createImageData(w,h);
    for(var i=0; i<rgba.length; i++) 
        imgd.data[i]=rgba[i];
    ctx.putImageData(imgd,0,0);
    var attr = ["style","class","id"];
    for(var i=0; i<attr.length; i++) 
        cnv.setAttribute(attr[i], img.getAttribute(attr[i]));
    img.parentNode.replaceChild(cnv,img);

    var c = new Color(r, g, b, a);
    console.log(c);
    function changeColor(x, y, c) {
        rgba[(x * 4) + (y * (w * 4))] = c.r;
        rgba[(x * 4) + (y * (w * 4)) + 1] = c.g;
        rgba[(x * 4) + (y * (w * 4)) + 2] = c.b;
        rgba[(x * 4) + (y * (w * 4)) + 3] = c.a;

        console.log("Change :");
    }

    changeColor();

    document.getElementById("myText").innerHTML = string;
}

Я получаю Uint8Array() RGBA изображения, вот console.log этого: введите здесь описание изображения

Вот изображение с массивом rgba в виде строки в HTML:введите здесь описание изображения

Я пытаюсь изменить rgba изображения с помощью функции changeColor(). Я получаю в console.log ошибку = «Цвет не определен». Спасибо за помощь!


person bafix2203    schedule 10.12.2017    source источник
comment
Функция changeColor имеет 3 аргумента, и вы не передаете ни одного из них при вызове. то может быть ошибка.   -  person PerunSS    schedule 10.12.2017
comment
Когда вы получаете ошибку консоли, вы также получаете номер строки, в которой произошла ошибка. Этот номер строки привел бы вас к строке с ` var c = new Color (r, g, b, a);` Ошибка сообщает вам, что в текущей области видимости нет объекта с именем Color, и поэтому вы не можете его создать. .   -  person Blindman67    schedule 10.12.2017