2
캔버스에 CSS background-color: #D3D3D3;
및 하나의 속성 ctx.fillStyle = "#000";
이 있습니다.
이 JS 코드는 획을 그대로두고 모든 것을 투명하게 만들어야합니다. 어떻게이 일을 성취 할 수 있습니까?캔버스 픽셀의 색이 맞는지 확인
imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
let clearBack = imageData;
for (var i = 3; i < clearBack.length; i += 4) {
if (pixle is not black) { //if pixel belongs to the stroke leave it
clearBack[i] = 0;
}
}
데이터는 제 1 화소 따라서 어레이의 전후 값 I + 3 인 알파이고, 상기 제 4 개 값에 의해 참조되도록 배열 아닌가? 그렇다면 왜 코드는'[i + 3]가 아닌'a = imageData.data [i + 4]'라고 말합니까? 이 질문의 이유는 if 블록이 절대로 입력되지 않기 때문입니다. –
내 실수는 오타입니다. – element11