내 <canvas>
요소가 100vw
및 100vh
이됩니다. 나는 그것의 아무 곳이나 클릭하고 그곳에 그림을 그릴 수 있기를 원합니다. 지금은 화면을 클릭 할 때 이미지가 클릭 한 곳 가까이에 그려지지 않습니다. 왼쪽 상단을 클릭할수록 가까워집니다. 그러나 제가 약간 구석에서 벗어나면, 이미지는 정말로 멀리 아래쪽으로 밀려납니다.마우스 클릭으로 캔버스로 그리기가 꺼짐
내가 클릭 한 위치에서 이미지를 정확히 그려야하는 것처럼 보이는 오프셋을 어떻게 계산할 수 있습니까? CSS와 캔버스 크기 조정
는//var count1 = (Math.floor(Math.random() * screen.width)) + 1;
//var count2 = (Math.floor(Math.random() * screen.height)) + 1;
function onCanvasClick() {
var image = document.getElementById("image");
var xLoc = event.clientX;
var yLoc = event.clientY;
var loc = "xLoc is: " + xLoc + " | yLoc is: " + yLoc;
console.log(loc);
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.drawImage(image, xLoc, yLoc);
}
#myCanvas {
width: 99vw;
height: 99vh;
border: 2px solid rgba(255, 255, 255, 0.5);
background-color: rgba(58, 154, 221, 0.3);
}
#image {
width: 100px;
height: 100px;
display: none;
}
<canvas id="myCanvas" onmousedown="onCanvasClick()">You dont support this!</canvas>
<img id="image" src="//lorempixel.com/100/100/abstract/5/"></img>
분명히 효과가있는 것 같습니다. 그것을 일으킬 캔버스를 쭉 뻗은 것이라고 생각하지 않았습니다. 내일 아침에 랩톱으로 돌아 가면이 방법이 제대로 작동하는지 확인해보고 그것이 맞으면 확인 표시를합니다. 감사! – skyleguy