[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

Similar documents
2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

리니어레이아웃 - 2 -

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

// 화면을터치하였을때해야할작업구현 case MotionEvent.ACTION_MOVE: // 화면을드래그하였때 // 화면을드래그하였을때해야할작업구현 case MotionEvent.ACTION_UP: // 화면에서터치가사라질때 // 화면에서터치가사라질때해야할자업구현 c

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

03장

어댑터뷰

13ÀåÃß°¡ºÐ

( )부록

01장

슬라이드 1

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

슬라이드 1

Daum 카페

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

PowerPoint 프레젠테이션

2_안드로이드UI

안드로이드2_14

1. 화면전환 [ 그림 1] 화면전홖에대한상태도 [ 그림 1] 은게임전반적이화면전홖에대한상태도입니다. 이에대한설명은아래와같습니다. Intro: 게임이시작될때보여주는화면. 화면이보여지고난뒤 2초후면 Main으로이동합니다. 실제게임에서는필요한데이터등을로딩하는동안보여주는형식

¾Èµå·ÎÀÌµå ³¹Àå-Åë.PDF

위젯과레이아웃위젯은 View 클래스를상속해화면디스플레이와이벤트처리를할수있도록구현된스크린구성의최소단위를말한다. android.widget 패키지에는여러유형의위젯들이포함되어있다. TextView, ImageView, Button, ImageButton 등은가장간단한위젯들이

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - DoItAndroid_PART02_01_기본위젯과레이아웃_Rev.1.0 [호환 모드]

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

전자공학설계실험 A 보고서 화 6A ~ 9B 박종태교수님 제출기한 ( 화 ) Android I.S 작업환경 Eclipse_Juno ver. 전자공학부 이상엽전자공학부 오윤재전자공학부

gnu-lee-oop-kor-lec10-1-chap10

슬라이드 1

PowerPoint 프레젠테이션

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

뷰그룹 ( 레이아웃 ) 레이아웃이름 ( 클래스이름 ) FrameLayout LinearLayout 설명단일객체를표현하기위한프레임. 왼쪽상단에하나의뷰를배치하기때문에나중 에그린객체만보여준다. 수평또는수직으로자손의뷰를배치. 뷰가들어갈만한공간이없을때는자동으로 스크롤바가나타난다

슬라이드 1

Contents v 학습목표 뷰와레이아웃에대해이해하고, 레이아웃을활용, 관리하는여러가지기법들에대하여알아본다. v 내용 뷰 (View) 리니어레이아웃 (Linear Layout)

50_1953.pdf

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

<BFF8B5E5B7CEC0CCB5E5322E687770>

콘텐츠 PowerPoint 디자인

학습목표 게임이나프로그램에옵션을추가하는방법을알아본다. 이전의프로그램을계속하기위해상태를저장하는방법을알아본다. 게임에서현재의실행위치를저장하는방법에대해알아본다. 내부의파일시스템을읽고쓰는방법에대해알아본다. SD 카드에접근하는방법에대해알아본다. 여러 UI 위젯들에대해알아본다.

PowerPoint Template

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부

PowerPoint Presentation

<4D F736F F F696E74202D205BC3D6C1BE5D3133C1D6C2F720B8AEBDBAC6AEBAE420B0ADC0C7C0DAB7E12D >

Microsoft PowerPoint UI-Layout.Menu.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

Microsoft PowerPoint - 14주차 강의자료

(Microsoft PowerPoint - Ch06.ppt [\310\243\310\257 \270\360\265\345])

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

안드로이드애플리케이션과통합하는데는자바가편하므로대표적인두가지라이브러리를비교해보자. 자바 ID3 태그라이브러리 jaudiotagger ID3v1, ID3v1.1, Lyrics3v1, Mp3, Mp4 (Mp4 오디오, M4a 지원범위 Lyrics3v2, ID3v2.2, ID

K&R2 Reference Manual 번역본

Visual Basic 반복문

SQLite v 소개 ü SQLite 라이브러리를통해완전한관계형데이터베이스 (RDBMS) 기능제공 ü 오픈소스 ü 표준준수 ü 경량 ü 단일계층 2

슬라이드 1

슬라이드 1

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

RDS_MAN_NO 도로구간일련번호 NUMBER(12) BSI_INT_SN 기초구간일련번호 NUMBER(10) EQB_MAN_SN 건물군일련번호 NUMBER(10) BULD_SE_CD 건물구분코드 VARCHAR2(1) BULD_MNNM 건물본번 NUMBER(5) BUL

1. 개요 - 계획서 프로젝트개요프로그램명 : 닥터 119 제작배경애완견을키우는사람들이부득이하게병원에가지못할경우에이앱을통해서자가진단을통해상태의심각성을알수있게되고또가까운동물병원으로갈수있는지도와전화번호를제공한다. 그리고애견다이어리기능을통해애견의성장과정과추억들을저

gnu-lee-oop-kor-lec06-3-chap7

Design Issues

PowerPoint Presentation

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

레이아웃 (Layout)

01 [ 일기장 ] 애플리케이션프로젝트작성 - [MyDiary] 앱 Mobile Apps >> [MyDiary] 앱프로젝트구조설계 일기장애플리케이션인 [MyDiary] 앱은메인화면과일기장의내용을작성하는화면으로이루어져있다. 화면이 2개라는것은액티비티가 2개이고액티비티에대

학습목표 2D 그래픽에대해배운다. Color, Paint, Canvas, Path, Drawable 클래스를배운다. 스도쿠의게임시작하기를구현하고, Game 클래스, PuzzleView 클래스를정의한다. 정의된클래스내에서보드를그리고, 숫자를그린다. 숫자입력, 힌트추가,

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

SECTION 01 _ 액션바 (ActionBar) 405 액션바만들기 참고프로젝트 ActionBarDemoA1 간단히액션바를만들고이액션바가 WVGA(800*480) 과 WXGA(1280*800) 에서어떻게보이는지확인해보도록하겠다. 액션바를만든다는표현을했지만액션바는타이

XML Parser

학습목표 인텐트로다른액티비티나프로그램을실행시킬수있다. 웹뷰를통해웹화면을액티비티화면의일부로구성할수있다. 자바스크립트를통해안드로이드프로그램을호출하는방법을안다. 안드로이드응용프로그램에서웹서비스를이용하는방법을안다.

Microsoft PowerPoint - 06-Chapter09-Event.ppt

자바 프로그래밍

10 장세균전프로그래밍 10.1 게임룰 (1) 사람과컴퓨터가싸우는 2인용보드게임이다. (2) 사람이먼저움직이고, 컴퓨터가움직인다. (3) 세균을가로및세로방향으로 2칸까지빈칸으로이동시킬수있다. (4) 1칸을이동할경우에는복제가된다. (5) 이동한후주변세균은내편으로바뀐다.

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

12 주차 인텐트

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

Spring Boot/JDBC JdbcTemplate/CRUD 예제

오버라이딩 (Overriding)

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

한이음 IT 멘토링프로젝트 Android App 개발가이드 (2) - Google Maps 와 GPS 를연동한 Android App 개발 - Ver 1.02 (Update )

제8장 자바 GUI 프로그래밍 II

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

PowerPoint 프레젠테이션

Android Master Key Vulnerability

구글안드로이드프로그래밍액티비티, 인텐트수신자, 그리고서비스 안드로이드애플리케이션의구성요소에는액티비티, 인텐트수신자, 서비스, 컨텐트제공자가있다. 이번호에서는사용자인터페이스를위한액티비티와백그라운드서비스를위한인텐트수신자, 그리고서비스의라이프사이클과활용법에대해살펴보도록하자.

5장.key

PowerPoint 프레젠테이션

Microsoft PowerPoint - BIT-android pptx

슬라이드 1

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JAVA PROGRAMMING 실습 08.다형성

목차 1. Samsung In-App Purchase 소개 다운로드 IAP 3.0 Helper & Sample IAP 3 제약사항 IAP 3 개발모드 지원상품타입 IAP 3

PowerPoint 프레젠테이션

Transcription:

7 차시이미지처리 1 학습목표 이미지뷰를사용하는방법을배운다. 비트맵을사용하는방법을배운다. 2 확인해볼까? 3 이미지뷰와이미지버튼 1) 학습하기

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView 5 6 7 android:src="@drawable/ic_launcher" /> 8 <ImageView - 2 -

9 android:layout_width="200dp" 10 android:layout_height="100dp" 11 android:src="@drawable/ic_launcher" /> 12 <ImageView 13 android:layout_width="200dp" 14 android:layout_height="100dp" 15 android:scaletype="fitxy" 16 android:src="@drawable/ic_launcher" /> 17 <ImageView 18 android:layout_width="200dp" 19 android:layout_height="100dp" 20 android:scaletype="fitcenter" 21 android:src="@drawable/ic_launcher" /> 22 <ImageView 23 android:layout_width="200dp" 24 android:layout_height="100dp" 25 android:scaletype="fitstart" 26 android:src="@drawable/ic_launcher" /> 27 </LinearLayout> 7행 [res]-[drawable] 의이미지 id를설정한다. 9~10행이미지의크기를가로 200dp, 세로 100pd 로확장한다. 15, 20, 25행 scaletype 속성을사용하여이미지뷰의확장, 축소하는방식을설정하였다. fitxy는이미지뷰의좌우에맞게이미지를확장하고, fitcenter는중앙에맞춰서확장하며, fitstart는왼쪽에맞춰서확장한다. 이미지버튼 2) 활동하기 활동개요 - 3 -

[ 그림 7-2] 실행화면 활동과정 - 4 -

[ 그림 7-3] 그림파일복사 [ 예제 7-2]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" - 5 -

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" tools:context=".imageactivity" > <TextView android:text=" 보고싶은동물을선택하세요 " /> <RadioGroup android:id="@+id/rgroup" > <RadioButton android:id="@+id/rbhorse" android:text=" 말 " /> <RadioButton android:id="@+id/rbrabbit" android:text=" 토끼 " /> <RadioButton android:id="@+id/rbcat" android:text=" 고양이 " /> <RadioButton android:id="@+id/rbdog" android:text=" 강아지 " /> </RadioGroup> <TextView android:layout_margintop="10dp" android:text=" 선택한동물을보려면아래버튼을클릭릭하세요 " /> <ImageButton android:id="@+id/ibtnshow" - 6 -

44 45 46 android:src="@drawable/ic_launcher" 47 android:onclick="onclick" /> 48 <ImageView 49 android:id="@+id/ivani" 50 51 52 android:layout_margintop="10dp" /> 53 </LinearLayout> 40, 52행 layout_margintop 설정하여 10dp 만큼바로위의위젯간의간격을벌린다. 47행이미지버튼에 onclick 속성을설정한다. 이벤트리스너가등록되어이미지버튼을클릭하면 onclick() 메소드가수행되도록설정한다. [ 예제 7-3]Image.java 1 package com.example.image; 2 3 import android.app.activity; 4 import android.os.bundle; 5 import android.view.view; 6 import android.widget.imageview; 7 import android.widget.radiogroup; 8 import android.widget.toast; 9 10 public class ImageActivity extends Activity { 11 12 RadioGroup rgroup; 13 ImageView ivani; 14 15 @Override 16 protected void oncreate(bundle savedinstancestate) { 17 super.oncreate(savedinstancestate); 18 setcontentview(r.layout.main); 19 settitle(" 동물그림보기 "); 20-7 -

21 rgroup = (RadioGroup) findviewbyid(r.id.rgroup); 22 ivani = (ImageView) findviewbyid(r.id.ivani); 23 24 25 public void onclick(view v) { 26 switch (v.getid()) { 27 case R.id.ibtnShow: 28 switch (rgroup.getcheckedradiobuttonid()) { 29 case R.id.rbHorse: 30 ivani.setimageresource(r.drawable.horse); 31 break; 32 case R.id.rbRabbit: 33 ivani.setimageresource(r.drawable.rabbit); 34 break; 35 case R.id.rbCat: 36 ivani.setimageresource(r.drawable.cat); 37 break; 38 case R.id.rbDog: 39 ivani.setimageresource(r.drawable.dog); 40 break; 41 default: 42 Toast.makeText(getApplicationContext(), " 보고싶은동물을먼저선택하세요 ", 0) 43.show(); 44 45 break; 46 47 48 25~46행이미지버튼을클릭했을때의이벤트처리 30행 setimageresource() 메소드를사용하여이미지뷰에그림파일을출력한다. 42행라디오그룹에서아무것도선택하지않고이미지버튼을클릭했을경우, 토스트메시지를띄운다. 4 비트맵 1) 학습하기 - 8 -

protected void ondraw(canvas canvas { super.ondraw(canvs); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable. 그림id); canvas.drawbitmap(bitmap, 시작점X좌표, 시작점Y좌표, null); bitmap.recycle(); 시작점 X 좌표 : ( 화면폭 - 그림폭 ) / 2 시작점 Y 좌표 : ( 화면높이 - 그림높이 ) / 2 [ 예제 7-4] 비트맵 1 package com.example. 프로젝트명 ; 2-9 -

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 import android.app.activity; import android.content.context; import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.graphics.canvas; import android.os.bundle; import android.view.view; public class 프로젝트명 Activity extends Activity { @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); MyView myview = new MyView(this); setcontentview(myview); public class MyView extends View { public MyView(Context context) { super(context); // TODO Auto-generated constructor stub @Override protected void ondraw(canvas canvas) { // TODO Auto-generated method stub super.ondraw(canvas); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); int startx = (this.getwidth() - bitmap.getwidth()) / 2; int starty = (this.getheight() - bitmap.getheight()) / 2; canvas.drawbitmap(bitmap, startx, starty, null); bitmap.recycle(); - 10 -

43 33~34 행리소스에서그림파일을로드하여비트맵으로만든다. 36~37 행비트맵을그리기시작할위치를설정한다. 이렇게설정하면비트맵이화면중앙에위 치하게된다. 39 행캔버스에비트맵을그린다. 40 행비트맵리소스를해제한다. [ 그림 7-4] 실행화면 2) 활동하기 활동개요 - 11 -

[ 그림 7-5] 간단이미지편집기 활동과정 [ 예제 7-5]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" - 12 -

5 android:orientation="vertical" 6 tools:context=".bitmapactivity" > 7 <LinearLayout 8 android:layout_width="match_parent" 9 android:layout_height="0dp" 10 android:layout_weight="1" 11 android:orientation="horizontal" > 12 <Button 13 android:id="@+id/btnzoomout" 14 android:layout_width="0dp" 15 16 android:layout_weight="1" 17 android:onclick="onclick" 18 android:text=" 확대 " /> 19 <Button 20 android:id="@+id/btnzoomin" 21 android:layout_width="0dp" 22 23 android:layout_weight="1" 24 android:onclick="onclick" 25 android:text=" 축소 " /> 26 <Button 27 android:id="@+id/btnrotate" 28 android:layout_width="0dp" 29 30 android:layout_weight="1" 31 android:onclick="onclick" 32 android:text=" 회전 " /> 33 </LinearLayout> 34 <LinearLayout 35 android:id="@+id/canvaslayout" 36 android:layout_width="match_parent" 37 android:layout_height="0dp" 38 android:layout_weight="9" 39 android:gravity="center" > 40 </LinearLayout> 41 </LinearLayout> 10, 38행두개의내부리니어레이아웃의세로길이비율을 1:9로설정한다. 35행아래의내부리니어레이아웃을 java 코드에서뷰를다루기위해 id를설정한다. - 13 -

[ 예제 7-6]BitmapActivity.java 1 package com.example.bitmap; 2 3 import android.app.activity; 4 import android.content.context; 5 import android.graphics.bitmap; 6 import android.graphics.bitmapfactory; 7 import android.graphics.canvas; 8 import android.os.bundle; 9 import android.view.view; 10 import android.widget.button; 11 import android.widget.linearlayout; 12 13 public class BitmapActivity extends Activity { 14 15 Button btnzoomout, btnzoomin, btnrotate; 16 MyView myview; 17 float scalex = 1, scaley = 1, angle = 0; 18 19 @Override 20 protected void oncreate(bundle savedinstancestate) { 21 super.oncreate(savedinstancestate); 22 setcontentview(r.layout.main); 23 24 settitle(" 간단그림편집기 "); 25 26 LinearLayout canvaslayout = (LinearLayout) findviewbyid(r.id.canvaslayout); 27 myview = (MyView) new MyView(this); 28 canvaslayout.addview(myview); 29 30 31 public class MyView extends View { 32 33 public MyView(Context context) { - 14 -

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 super(context); // TODO Auto-generated constructor stub @Override protected void ondraw(canvas canvas) { // TODO Auto-generated method stub super.ondraw(canvas); int cenx = this.getwidth() / 2; int ceny = this.getheight() / 2; canvas.scale(scalex, scaley, cenx, ceny); canvas.rotate(angle, cenx, ceny); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); int startx = (this.getwidth() - bitmap.getwidth()) / 2; int starty = (this.getheight() - bitmap.getheight()) / 2; canvas.drawbitmap(bitmap, startx, starty, null); bitmap.recycle(); public void onclick(view v) { switch (v.getid()) { case R.id.btnZoomOut: scalex = scalex + 0.2f; scaley = scaley + 0.2f; myview.invalidate(); break; case R.id.btnZoomIn: scalex = scalex - 0.2f; scaley = scaley - 0.2f; myview.invalidate(); break; case R.id.btnRotate: angle = angle + 20; myview.invalidate(); - 15 -

74 break; 75 76 77 16행캔버스로사용할뷰를선언한다. 17행확대 / 축소및회전의크기를정하는변수를선언한다. 26~28행 main.xml의 canvaslayout을인플레이트한후, MyView형클래스변수를추가하였다. 즉, 아래쪽레이아웃에 MyView에서설정한내용이출력된다. 31~51행 [ 예제 6-4] 와동일한내용이다. 추가로캔버스의확대 / 축소와회전을넣었다. 43~44행화면의중앙좌표를구한다. 45행캔버스의확대 / 축소를실행한다. 46행캔버스의회전을실행한다. 62~63행버튼에대한이벤트처리부분이다. 5 배운내용정리 protected void ondraw(canvas canvas { super.ondraw(canvs); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable. 그림 id); canvas.drawbitmap(bitmap, 시작점 X 좌표, 시작점 Y 좌표, null); - 16 -

bitmap.recycle(); 6 학습확인하기 Bitmap 메소드 효과 1 rotate() 2 scale() 3 translate() 4 skew() a b c / d 7 지식창고 참고문헌 참고사이트 - 17 -