Я создаю холст и загружаю данные пикселей в определенных местах пикселей следующим образом.
let maskCanvas = document.createElement("canvas");
let patchWidth = 30;
let patchHeight = 30;
let scale = 3; //scale up the canvas by 3 times
maskCanvas.setAttribute("class", "mask");
maskCanvas.style.position = "relative";
maskCanvas.width = patchWidth * scale;
maskCanvas.height = patchHeight * scale;
let maskCtx = maskCanvas.getContext("2d");
let maskImageData = maskCtx.createImageData(patchWidth, patchHeight);
row = [14, 19, 50, 71, 100, 240, 560, 640]; // Pixel locations where I want to set pixel color
row.forEach((pos, iter) => {
maskImageData.data[pos * 4] = 0;
maskImageData.data[pos * 4 + 1] = 0;
maskImageData.data[pos * 4 + 2] = 0;
maskImageData.data[pos * 4 + 3] = 255;
});
maskCtx.putImageData(maskImageData, 0, 0);
maskCtx.imageSmoothingEnabled = false;
//resize the canvas according to scale
maskCtx.drawImage(maskCanvas, 0, 0, patchWidth, patchHeight, 0, 0, patchWidth * scale, patchHeight * scale);
document.querySelector(".myDiv").appendChild(maskCanvas);
<div class="myDiv">
</div>
![Canvas image](https://i.stack.imgur.com/aB3q6.png)
Это вывод фрагмента кода. Можно видеть, что исходные данные пикселей перед изменением размера все еще там вместе с измененным размером холста. Как я могу предотвратить это?