[Android] 그래픽 처리

7. 그래픽 처리

 

7.1 그래픽 메커니즘

7.1.1 드로잉

안드로이드 운영체제는 뷰가 수정될 때마다 onDraw() 메서드를 호출

애플리케이션 상태가 변경되어 현재 화면에 그려진 내용을 고쳐야 할 때 View의 invalidate() 메서드 호출

onDraw()를 오버라이딩해 원하는 내용을 그림

 

 

7.2 그래픽 관련 주요 클래스

7.2.1 캔버스(android.graphics.Canvas)

그래픽을 그리기 위한 바탕

Activity > View > Canvas

onDraw() method에 오버라이딩하여 캔버스에 그림

 

7.2.2 페인트(android.graphics.Paint)

캔버스에 그릴 때 색깔, 투명도, 붓 크기 제어

캔버스에 글씨를 쓸 때 글꼴, 크기, 스타일 제어

 

7.2.3 비트맵(android.graphics.Bitmap)

이미지에 대한 픽셀 데이터를 제어

 

7.2.4 Path 클래스

선, 사갹형, 커브 등 벡터 그리기 명령어를 포함

/**
 * 예) 원형 패스 정의
 */
circle = new Path();
circle.addCircle(150, 150, 100, Direction, CW);

/**
 * 예) 텍스트 추가
 */
private static final String myNote = "안드로이드";
canvas.drawPath(circle, cPaint);

 

7.2.5 Color

색의 구성: 알파(alpha), 레드(red), 그린(green), 블루(blue)

32비트 정수

색상의 표현

int color = Color.BLUE;    // 파란색
color = Color.argb(127, 255, 0, 255);    // 반투명 보라

 

XML 리소스에서 색상 정의

<resource>
	<color name="mycolor">#3500ffff</color>
</resource>

 

자바 코드 내에서 사용하는 방법

color = getResources().getColor(R.color.mycolor);

 

7.2.6 Drawable 클래스

비트맵, 단색 등과 같이 화면표시용 시각적 요소에 사용됨

다른 그래픽에 결합시킬 수 있으며 사용자 인터페이스 위젯(버튼이나 뷰의 배경)에 사용됨

 

 

7.3 실습예제

7.3.1 activity_main.xml

7.3.2 MainActivity.java

7.3.3 ShapeActivity.java

7.3.4 KeyActivity.java

7.3.5 multi_touch.xml

7.3.6 LineActivity.java

7.3.7 Missile.java

7.3.8 GameActivity.java

7.3.9 ImageRotateActivity.java

'programming > android' 카테고리의 다른 글

[Android] 다이얼로그  (0) 2018.07.06
[Android] 네트워크  (0) 2018.06.28
[Android] 그래픽 처리  (0) 2018.06.27
[Android] Thread  (0) 2018.06.24
[Android] WebView  (0) 2018.06.13
[Android] 파일 입출력  (0) 2018.06.10

댓글(0)

Designed by JB FACTORY