| sitelink1 | http://blog.naver.com/shadowbug/220741936442 | 
|---|---|
| sitelink2 | |
| sitelink3 | |
| sitelink4 | |
| extra_vars5 | |
| extra_vars6 | 
도형의 클릭 이벤트를 처리하기 위해서는,
Path2D객체를 이용해서 Path정보를 따로 저장해 놓고, 이 정보로 클릭 여부를 체크 할 수 있다.
Path2D 객체
context의 패스작업을 따로 보관하는 객체
context에서 제공하는 Path관련 함수들을 사용 할 수 있다.
html
- 
	<body onload="load(this)"> 
- 
	<canvas id="draw" onclick="clickCanvas(window.event)" width="300px" height="300px;"></canvas> 
- 
	</body> 
javascript
Path2D 객체로 Path작업을 분리시키고,
따로 보관한 Path2D객체를 context객체의 isPointInPath 객체로 포인트 접근 여부를 확인한다.
- 
	var ctx = null; 
- 
	var path = null; 
- 
	
- 
	function load(target) { 
- 
	// 실제로 그려지는 위치의 캔버스 생성 
- 
	var canvas = document.getElementById("draw"); 
- 
	ctx = canvas.getContext("2d"); 
- 
	
- 
	path = new Path2D(); 
- 
	path.fillStyle = "rgb(255, 0, 0)"; 
- 
	path.arc(100, 100, 100, 0, 2*Math.PI, true); 
- 
	ctx.stroke(path); 
- 
	} 
- 
	
- 
	function clickCanvas(event) { 
- 
	var x = event.pageX; 
- 
	var y = event.pageY; 
- 
	if(ctx.isPointInPath(path, x, y)) { 
- 
	alert("in circle"); 
- 
	} else { 
- 
	alert("out circle"); 
- 
	} 
- 
	} 
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 
|---|---|---|---|---|
| » | Canvas 도형의 클릭 이벤트 처리 | 황제낙엽 | 2016.08.22 | 514 | 
| 67 | Canvas 이미지 추출 | 황제낙엽 | 2016.08.22 | 327 | 
| 66 | Canvas 더블버퍼링 | 황제낙엽 | 2016.08.22 | 441 | 
| 65 | Canvas 비트맵 그리기   | 황제낙엽 | 2016.08.22 | 265 | 
| 64 | Canvas 그라디언트 그리기   | 황제낙엽 | 2016.08.22 | 249 | 
| 63 | Canvas 텍스트 그리기   | 황제낙엽 | 2016.08.22 | 247 | 
| 62 | Canvas 곡선 그리기   | 황제낙엽 | 2016.08.22 | 658 | 
| 61 | Canvas 다각형 그리기   | 황제낙엽 | 2016.08.22 | 345 | 
| 60 | Canvas 사각형 그리기   | 황제낙엽 | 2016.08.22 | 269 | 
| 59 | Canvas 시작하기   | 황제낙엽 | 2016.08.22 | 260 | 
| 58 | HTML5 개발을 도와주는 도구들 | 황제낙엽 | 2014.04.04 | 209 | 
| 57 | encoding, charset, code page, UTF-8, UNICODE ...   | 황제낙엽 | 2013.08.07 | 1007 | 
| 56 | document.domain (from mozilla.org) | 황제낙엽 | 2013.03.13 | 814 | 
| 55 | 우리은행 웹 접근성 가이드   | 황제낙엽 | 2013.03.08 | 268 | 
| 54 | 모든 브라우저에서 동작하는 opacity 설정 코드 | 황제낙엽 | 2013.02.14 | 249 | 
| 53 | DXImageTransform.Microsoft.AlphaImageLoader 와 file dialog | 황제낙엽 | 2013.01.28 | 397 | 
| 52 | Gradient 와 Background-Image 동시 적용 방안 | 황제낙엽 | 2013.01.11 | 387 | 
| 51 | 그라디언트와 다중 배경 (gradient)   | 황제낙엽 | 2013.01.11 | 279 | 
| 50 | CSS Gradient Background Maker   | 황제낙엽 | 2013.01.11 | 265 | 
| 49 | Radius, Gradient, Padding | 황제낙엽 | 2013.01.11 | 267 | 
 
							