PDF문서chapter09_그래픽과 이미지(5판)_2_박세준.pdf

닫기

background image

Chap09. 그래픽과 이미지 

01 그래픽 

02 이미지 


background image

02. 이미지 

 이미지 

 사진과 같은 그림 파일 안드로이드 화면에 출력 

 사진에 다양한 효과(블러링, 앰보싱) 

 디지털 영상처리 앱 개발 

 비트맵(Bitmap) 

 캔버스에 이미지 파일을 보여주기 위해 사용 


background image

02. 이미지 

 이미지 파일을 화면에 출력하는 가장 일반적인 형태 

 이미지 파일을 보여주는 onDraw( ) 메소드(SD 카드)  

 

 

 

 이미지를 화면 중앙에 출력하기 위한 방법 


background image

02. 이미지 

 이미지 파일을 화면에 출력하는 가장 일반적인 형태 

 이미지 파일을 보여주는 onDraw() 메소드(/res/drawable 폴더)  

 

 

 

 이미지를 화면 중앙에 출력하기 위한 방법 


background image

02. 이미지 

 화면 중앙에 이미지 파일 출력 Java 코드(p.366 예제 9-6) 


background image

02. 이미지 

 많이 사용되는 Canvas 클래스의 기하학적 메소드 

rotate() 

translate() 

scale() 

skew() 


background image

02. 이미지 

 기하학적 변환 Java 코드(p.368 예제 9-7) 


background image

02. 이미지 

 블러링(Blurring) 

 이미지를 뿌옇게 만드는 것(BlurMaskFilter 클래스) 


background image

02. 이미지 

 블러링 효과 Java 코드(p.370 예제 9-8) 

 AndroidManifest.xml - android:hardwareAccelerated="false“ 추가 


background image

02. 이미지 

 엠보싱(Embossing) 

 이미지가 볼록하게 튀어나와 보이는 효과(EmbossMaskFilter 클래스) 

10 


background image

02. 이미지 

 엠보싱 효과 Java 코드 예제(p.371 예제 9-9) 

 AndroidManifest.xml - android:hardwareAccelerated="false“ 추가 

11 


background image

02. 이미지 

 컬러매트릭스 

 색상, 밝기 조절(ColorMatrix와 ColorMatrixColorFilter클래스) 

12 


background image

02. 이미지 

 ColorMatrix에 사용할 배열(Array)의 각 위치 값 

 색상대비 변경 

  Red(1), Green(1), Blue(1), Alpha(1)  값 조절 

 색상 발기 조절 

  Brightness(양수-밝게), Brightness(음수-어둡게) 

13 


background image

02. 이미지 

 컬러매트릭스 Java 코드(p.372~373 예제 9-10) 

 RGB 색상 대비(2배) 

14 


background image

미니 포토샵 앱 만들기(실습 9-2) 

1. 안드로이드 프로젝트 생성 

 [01] 프로젝트 이름(Project9_2) 

 패키지 이름(com.cookandroid.project9_2) 

 [실습 2-4]의 1~4(p.87~89) 

15 


background image

미니 포토샵 앱 만들기(실습 9-2) 

2. 화면 및 디자인 편집 

 [02] 사용할 그림 파일(6개) /res/drawable에 복사 

 [03] AndroidManifest.xml에 추가 

16 


background image

미니 포토샵 앱 만들기(실습 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 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. 화면 및 디자인 편집(activity_main.xml) 

 [04] 코드 작성(p.375 예제 9-11) 

18 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [05] [MainActivity.java] 코딩(p.376~377 예제 9-12) 

 activity_main.xml에 대응할 전역 변수 6개 선언 

 MyGraphicView 클래스 변수 선언 

 MyGraphicView 정의(그림 파일 중앙에 비트맵으로 출력) 

 pictureLayout을 인플레이트한 후 MyGraphicView 추가 

19 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [05] [MainActivity.java] 코딩(p.376~377 예제 9-12) 

20 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [06] 확대 아이콘 코딩(p.377~378 예제 9-13) 

 축척에 사용될 전역변수 선언 

 clickIcons( ) 메소드 정의 

 확대 아이콘 클릭 리스너 생성 

 clickIcons( ) 메소드 호출 

 onDraw( )에 Cavas.scale( ) 메소드 추가 

21 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [06] 확대 아이콘 코딩(p.377~378 예제 9-13) 

22 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [07] 축소 아이콘 코딩 

23 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [08] 회전 아이콘 코딩(p.379 예제 9-14) 

 회전에 사용될 전역변수 선언 

 회전 아이콘 클릭 리스너 생성 

 onDraw( )에 Cavas.rotate( ) 메소드 추가 

24 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [08] 회전 아이콘 코딩(p.379 예제 9-14) 

25 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [09] 밝게 하기 아이콘 코딩(p.380 예제 9-15) 

 화면 밝기에 사용될 전역변수 선언 

 밝게 하기 아이콘 클릭 리스너 생성 

 onDraw( )에 컬러매트릭스 적용 

26 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [09] 밝게 하기 아이콘 코딩(p.380 예제 9-15) 

27 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [10] 어둡게 하기 아이콘 코딩 

28 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [11] 회색 영상 이미지로 변경하기 아이콘 코딩(p.381 예제 9-16) 

 채도에 사용될 전역변수 선언 

 회색 영상 아이콘 클릭 리스너 생성 

 onDraw( )에 채도 설정 적용 

29 


background image

미니 포토샵 앱 만들기(실습 9-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [11] 회색 영상 이미지로 변경하기 아이콘 코딩(p.381 예제 9-16) 

30 


background image

미니 포토샵 앱 만들기(실습 9-2) 

4. 프로젝트 실행 및 결과 확인 

 [12] 저장 및 실행 

 저장 - 메뉴 → [File] → [Save All] 클릭 

 실행 - 메뉴 → [Run] → [Run ‘app’] 클릭 

5. 안드로이드 애플리케이션 개발 완료

 

 [13] 결과 확인 및 초기화면으로 돌아감 

31 


background image

직접 풀어보기 9-3(p.382) 

 [실습 9-2]를 다음과 같이 수정하여라. 

32 


background image

과제9-2 연습문제5(p.387) 

 [실습 9-2]에서 아이콘을 모두 없애고 XML파일을 

이용하여 옵션 메뉴로 변경하라. 

33 

초기화 
확대 

축소 

회전 
밝게 

어둡게 
그레이