Chap09. 그래픽과 이미지
01 그래픽
02 이미지
02. 이미지
이미지
사진과 같은 그림 파일 안드로이드 화면에 출력
사진에 다양한 효과(블러링, 앰보싱)
디지털 영상처리 앱 개발
비트맵(Bitmap)
캔버스에 이미지 파일을 보여주기 위해 사용
2
02. 이미지
이미지 파일을 화면에 출력하는 가장 일반적인 형태
이미지 파일을 보여주는 onDraw( ) 메소드(SD 카드)
이미지를 화면 중앙에 출력하기 위한 방법
3
02. 이미지
이미지 파일을 화면에 출력하는 가장 일반적인 형태
이미지 파일을 보여주는 onDraw() 메소드(/res/drawable 폴더)
이미지를 화면 중앙에 출력하기 위한 방법
4
02. 이미지
화면 중앙에 이미지 파일 출력 Java 코드(p.366 예제 9-6)
5
02. 이미지
많이 사용되는 Canvas 클래스의 기하학적 메소드
6
rotate()
translate()
scale()
skew()
02. 이미지
기하학적 변환 Java 코드(p.368 예제 9-7)
7
02. 이미지
블러링(Blurring)
이미지를 뿌옇게 만드는 것(BlurMaskFilter 클래스)
8
02. 이미지
블러링 효과 Java 코드(p.370 예제 9-8)
AndroidManifest.xml - android:hardwareAccelerated="false“ 추가
9
02. 이미지
엠보싱(Embossing)
이미지가 볼록하게 튀어나와 보이는 효과(EmbossMaskFilter 클래스)
10
02. 이미지
엠보싱 효과 Java 코드 예제(p.371 예제 9-9)
AndroidManifest.xml - android:hardwareAccelerated="false“ 추가
11
02. 이미지
컬러매트릭스
색상, 밝기 조절(ColorMatrix와 ColorMatrixColorFilter클래스)
12
02. 이미지
ColorMatrix에 사용할 배열(Array)의 각 위치 값
색상대비 변경
Red(1), Green(1), Blue(1), Alpha(1) 값 조절
색상 발기 조절
Brightness(양수-밝게), Brightness(음수-어둡게)
13
02. 이미지
컬러매트릭스 Java 코드(p.372~373 예제 9-10)
RGB 색상 대비(2배)
14
미니 포토샵 앱 만들기(실습 9-2)
1. 안드로이드 프로젝트 생성
[01] 프로젝트 이름(Project9_2)
패키지 이름(com.cookandroid.project9_2)
[실습 2-4]의 1~4(p.87~89)
15
미니 포토샵 앱 만들기(실습 9-2)
2. 화면 및 디자인 편집
[02] 사용할 그림 파일(6개) /res/drawable에 복사
[03] AndroidManifest.xml에 추가
16
미니 포토샵 앱 만들기(실습 9-2)
3. 화면 및 디자인 편집(activity_main.xml)
[04] 전역 변수 추가(p.375 예제 9-11)
두 리니어레이아웃 layout_weight(1:9) 설정
iconLayout, pictureLayout
위쪽 리니어레이아웃에 이미지버튼(6) 생성
ibZoomin, ibZoomout, ibRotate, ibBright, ibDark, ibGray
17
미니 포토샵 앱 만들기(실습 9-2)
3. 화면 및 디자인 편집(activity_main.xml)
[04] 코드 작성(p.375 예제 9-11)
18
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[05] [MainActivity.java] 코딩(p.376~377 예제 9-12)
activity_main.xml에 대응할 전역 변수 6개 선언
MyGraphicView 클래스 변수 선언
MyGraphicView 정의(그림 파일 중앙에 비트맵으로 출력)
pictureLayout을 인플레이트한 후 MyGraphicView 추가
19
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[05] [MainActivity.java] 코딩(p.376~377 예제 9-12)
20
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[06] 확대 아이콘 코딩(p.377~378 예제 9-13)
축척에 사용될 전역변수 선언
clickIcons( ) 메소드 정의
확대 아이콘 클릭 리스너 생성
clickIcons( ) 메소드 호출
onDraw( )에 Cavas.scale( ) 메소드 추가
21
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[06] 확대 아이콘 코딩(p.377~378 예제 9-13)
22
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[07] 축소 아이콘 코딩
23
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[08] 회전 아이콘 코딩(p.379 예제 9-14)
회전에 사용될 전역변수 선언
회전 아이콘 클릭 리스너 생성
onDraw( )에 Cavas.rotate( ) 메소드 추가
24
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[08] 회전 아이콘 코딩(p.379 예제 9-14)
25
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[09] 밝게 하기 아이콘 코딩(p.380 예제 9-15)
화면 밝기에 사용될 전역변수 선언
밝게 하기 아이콘 클릭 리스너 생성
onDraw( )에 컬러매트릭스 적용
26
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[09] 밝게 하기 아이콘 코딩(p.380 예제 9-15)
27
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[10] 어둡게 하기 아이콘 코딩
28
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[11] 회색 영상 이미지로 변경하기 아이콘 코딩(p.381 예제 9-16)
채도에 사용될 전역변수 선언
회색 영상 아이콘 클릭 리스너 생성
onDraw( )에 채도 설정 적용
29
미니 포토샵 앱 만들기(실습 9-2)
3. Java 코드 작성 및 수정(MainActivity.java)
[11] 회색 영상 이미지로 변경하기 아이콘 코딩(p.381 예제 9-16)
30
미니 포토샵 앱 만들기(실습 9-2)
4. 프로젝트 실행 및 결과 확인
[12] 저장 및 실행
저장 - 메뉴 → [File] → [Save All] 클릭
실행 - 메뉴 → [Run] → [Run ‘app’] 클릭
5. 안드로이드 애플리케이션 개발 완료
[13] 결과 확인 및 초기화면으로 돌아감
31
직접 풀어보기 9-3(p.382)
[실습 9-2]를 다음과 같이 수정하여라.
32
과제9-2 연습문제5(p.387)
[실습 9-2]에서 아이콘을 모두 없애고 XML파일을
이용하여 옵션 메뉴로 변경하라.
33
초기화
확대
축소
회전
밝게
어둡게
그레이