Javascript ошибка вопроса о заливке с размером стека - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь реализовать foodfill algo без использования :( Вы можете помочь мне.

Вот мое ядро ​​с ошибкой, которую я получаю. Как я могу ее решить?

<script src="//cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.7/p5.js"></script>
<script>
function setup() {
  createCanvas(800,600);
  noLoop();

}

function mojfloodfill(x,y)
{
    var pixelData = canvas.getContext('2d').getImageData(x, y, 1, 1).data;
    if (pixelData[3] == 0)
    {
        set(x, y, color(200,0,200));
        mojfloodfill(x+1,y);
        mojfloodfill(x-1,y);
        mojfloodfill(x,y+1);
        mojfloodfill(x,y-1);
    }
    else
    {
        return;
    }
}

function draw() {

    var ctx = canvas.getContext("2d");
    ctx.beginPath();
    ctx.arc(100,75,50,0,2*Math.PI);
    ctx.stroke();


    updatePixels();

    var pixelData = canvas.getContext('2d').getImageData(20, 20, 1, 1).data;
    textFont("courier", 24); 
    text(pixelData,20,20);
    console.log(pixelData);

    var r = pixelData[0];
    var g = pixelData[1];
    var b = pixelData[2];
    var a = pixelData[3];
    console.log('Czerwony: '+r);
    console.log('Niebieski: '+b);
    console.log('Zielony: '+g);
    console.log('Przezroczystosc: '+a);

    mojfloodfill(70,70);
    updatePixels();

}
</script>

eroor

Uncaught RangeError: Максимальный размер стека вызовов превышен на p5.Renderer2D.p5.Color._parseInputs (VM50 p5.js: 6878) на новом p5.Color (VM50 p5.js: 6491) на p5.цвет (VM50 p5.js: 6174) в moffloodfill (: 13: 16) в mojfloodfill (: 14: 9) в mojfloodfill (: 15: 9) в mojfloodfill (: 14: 9) в mojfloodfill (: 15: 9) вМойфлудфилл (: 14: 9) на Мойфлудфилл (: 15: 9)

...