저는 캔버스 요소를 HTML로 사용하려고합니다.캔버스 컨텍스트의 상자 크기를 얻는 방법?
나는 경로로 이미지를 덮고있는 걸림돌을 때렸다. 누군가 경로를 클릭하면 isPointInPath 메서드를 사용하여 어떤 경로를 클릭했는지 알 수 있습니다.
문제는 경로의 바깥 쪽 테두리로 확대 된 이미지를 다시 그리지 만 그 정보를 검색하는 방법을 볼 수 없다는 것입니다.
ctx.beginPath();
ctx.arc(can.width/2, can.height/2, can.height/2.5, ((2 * Math.PI)/10) * 7, (2 * Math.PI)/10);
ctx.lineTo(can.width/2, can.height/2);
ctx.closePath();
이 바이올린 http://jsfiddle.net/JohnSReid/78PEX/에서 저는 호를 그렸습니다. 위의 코드에서 내가 그린 점을 사용하면 원호의 바깥 쪽 점을 자릅니다.
호가 사용하는 영역의 전체 크기를 잡아낼 방법이 있습니까?
내가 아는 한, 당신은 그것을 계산할 필요가있을 것이다. 너무 어려워서는 안됩니다. 필자는 필요에 따라 4면 각각을 조정하기 전에 호와 같은 반경의 원을 둘러싸는 경계 상자로 시작합니다. 아크가 0 °와 90 °를 통과하기 때문에 상단이나 우측을 조정할 필요가 없다는 것을 알 수 있습니다. 180 °와 270 °가 통과하지 못하기 때문에 끝점의 좌표를 계산할 필요가 있습니다. 각각 왼쪽과 아래를 조정하십시오. ('종래의'각도 사용) - 캔버스가 거꾸로되어 있다는 것을 잊었습니다. 즉, 90 °가 아래쪽보다 아래쪽에 있습니다. – enhzflep