sitelink1 | https://m.blog.naver.com/elisa0511/221012692036 |
---|---|
sitelink2 | |
sitelink3 |
먼저 Canvas와 Paint가 무엇인지 살펴 보자.
Canvas는 도화지 같은 역할로 점,선,원, 사각형 그리기 / 텍스트 쓰기 / 이미지 출력 등을 할 수 있다.
Paint는 그림을 그리는 방법으로 펜 두께 지정/ 색상 선택 / 스타일 선택 등을 할 수 있다.
Canvas 그리기
5가지 step을 통해서 구현한다.
➔ View 클래스를 상속받는 Class 구현
➔ OnDraw() 메소드 overriding
➔ Paint 객체 생성하고 Canvas 그리기
➔ onTouchEvent() 메소드 구현
➔ 액티비티 추가
이에 따른 코드는 아래 기제한 github 주소에서 찾아 보도록 하자.
Bitmap그리기
비트맵이란 컴퓨터 분야에서 디지털 이미지를 저장하는 데 쓰이는 이미지 파일 포맷 또는 메모리 저장 방식의 한 형태이다.
BitmapFactory 클래스를 이용하여 비트맵 이미지를 생성한다.
Bitmap을 만들고 나서 그림이 너무 크다면 createSacleBitmap()메소드를 사용하여서 줄일 수도 있다.
그리기 요소 변환 / 이미지 효과
캔버스의 원하는 그리기 요소를 회전,이동,확대, 기울기를 할 수 있다.
rotate/ trans / scale / skew
Blurring 효과와 colorfilter 효과도 낼 수 있다.
더블 버퍼링
더블 버퍼링이란 화면에 그려 줄 출력버퍼를 2개를 만드는 것이다. 두개중 하나는 화면에 출력해주고 다른 하나는 다음에 출력될 화면을 그리는 것이다.
순서는
➔ View 클래스를 상속받는 클래스 생성
➔ member 변수 선언 (Bitmap, Canvas, Paint)
➔ onSizeChanged() 메소드 에서 Bitmap 객체 생성
➔ onDraw()에서 Bitmap을 화면에 그린다
➔ onTouchEvent에서 선을 그린다.
위 내용을 활용해서 자신만의 메모장을 만들어보자!
에서 확인 하실 수 있습니다!