html холст возврат неправильный imageData () - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь изменить цвет текущего пикселя на красный, в стилях я устанавливаю фоновый цвет холста на серый , но функция this.context.getImageData(actualX, actualY, 1, 1).data; возвращает этот массив [0,0,0,0] чтозначит он черный, ПОЧЕМУ?

changeToRed(event: MouseEvent) {
    const left = this.canvasEl.offsetLeft;
    const top = this.canvasEl.offsetTop;

    const actualX = Math.floor(event.pageX - left);
    const actualY = Math.floor(event.pageY - top);

    const pixelData = this.context.getImageData(actualX, actualY, 1, 1);
    const data = pixelData.data;
    const color = `rgb(${data[0]},${data[1]},${data[2]},${data[3]})`;
    // I got color = rgb(0,0,0,0);

    this.userColor = color;

    pixelData.data[0] = 255;
    pixelData.data[1] = 0;
    pixelData.data[2] = 0;
    pixelData.data[3] = 0;

    this.context.putImageData(pixelData, actualX, actualY);
    // anyway it is colored in white, not in red
  }
...