'Developer'에 해당되는 글 137건

  1. 2012.07.04 onTouchEvent를 이용한 자유곡선 그리기 (그림판)

 
1. 선을 그릴때 필요한 포인터(지점)을 위한 Point 클래스 생성

x, y는 각각 x좌표, y좌표값을 나타내며 Draw는 화면에 터치되었을때 선을 그릴지의 여부를 나타낸다.


2. 각좌표들을 저장해줄 ArrayList선언



3. 선을 그리게해줄 View를 생성

새로운 View를 생성해야하기때문에 MyView라는 클래스가 View클래스를 상속받도록 클래스를 정의한다. 그러고난후 for문을 이용하여 OnTouchListener에 의해 저장된 각지점의 좌표들을 이용하여 선을 그린다.

Void drawLine(float startX, float startY, float stopX, float stopY, Paint paint)
캔버스에 선을 그리는 메소드로 시작점, 끝점, Paint객체를 넣으면 선이 그려진다.

ArrayList에서 시작점, 끝점의 x, y좌표를 받아와 선을 그릴수있도록 설정을 한다.

4. OuTouchListener설정

MyView인스턴스를 생성하고 OuTouchListener를 설정한다.
OuTouchListener설정시 2가지의 유의를 해야한다.
  1. 화면에 터치되었을때는 좌표만 얻어지게되고 그지점에 선이 그러지지는 않는다.
  2. 터치를 유지한상태로 드래그(이동)하였을때 이동하는 좌표마다 선이 그려지게된다.

event.getAction()==MotionEvent.ACTION_DOWN 조건을 만족시켰을때는 좌표값만 받아오고
event.getAction()==MotionEvent.ACTION_MOVE 조건이 만족되었을때는 좌표값을 받아와 drawLine시행한다.

                     - 실행 결과화면 -




※ 전체소스코드

OnTouchDraw.java


Posted by No names
,