이미지 자르기를 위해 HTML5 캔버스에 앱을 만듭니다. DOM에는 3 개의 캔버스가 있습니다. 하나는 선을 그리고 하나는 원본 이미지 용이고 다른 하나는 결과 용입니다.html5 canvas copy imageData to tmpcanvas
여기에 내가 사용하는 코드가 있습니다. 난 빈/투명 이미지 아무것도 없어이 줄
tmpImageEl.src = tmpCanvas.toDataURL();
에서
// copy image data to secondary canvas
var pixelData = ctx.getImageData(x-10, y-10, 20, 20);
var tmpCanvas = document.createElement("canvas");
tmpCanvas.width = 20; tmpCanvas.height = 20;
var tmpCtx = tmpCanvas.getContext("2d");
tmpCtx.putImageData(pixelData, x, y);
var tmpImageEl = document.createElement("img");
tmpImageEl.onload = function(){
ctxCopy.drawImage(this, x, y);
}
console.log(tmpCanvas.toDataURL());
tmpImageEl.src = tmpCanvas.toDataURL();
//ctxCopy.putImageData(pixelData, x, y);
//document.getElementsByTagName("body")[0].appendChild(tmpCanvas);
. 원래 소스에서 가져온 이미지 데이터가 무엇인지 예상합니다. 코드가 잘못된 이유는 무엇입니까? putImageData에 대한 둥근 옵션이있는 경우 이것은 나에게 더 쉽습니다. (둥근 putImageData에 대한 인터넷 검색, 행운을 빕니다)
아마도 코드 샘플을 명확히 할 수 있으므로 3 개의 캔버스와 worflow를 명확하게 볼 수 있습니다. ctxCopy 란 무엇입니까? – GameAlchemist
'ctxCopy' 란 무엇이며 어디에서 오는 것입니까? 소스 코드에서 누락되었습니다. – Philipp
임시 이미지를 만드는 이유는 무엇입니까? 다른 캔버스와 함께'drawImage'를 소스 매개 변수로 사용할 수 있습니다. – Philipp