05. 그래픽 빨간색 사각형 그리기 그래픽 그리기 발 표 자 : 07 정 경 오.

Slides:



Advertisements
Similar presentations
이벤트 처리  GUI 운영체제는 이벤트 드리븐으로 동작한다.  사용자와 상호 작용하려면 이벤트를 매끄럽게 처리하는 기술이 필요하다.  안드로이드에는 이벤트를 처리하는 다양한 방법이 있다.  팀 작업을 위해 모든 방법을 숙지해야 하며 자바의 고급 문법이 사용된다.
Advertisements

기계시스템디자인공학과 기계제도 SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
1. 기본적인 사용법 2. 다양한 도형 및 스타일 적용 3. SVG 4. 비디오 태그. 캔버스 태그는 HTML5 에서 새로 추가된 엘리먼트로 HTML5 스펙에서 가장 많은 부분을 차지하고 있다. 캔버스라는 개념은 웹 페이지에 그림을 그리는 개념인 캔버스 태그는 애플의.
스마트 KTC 사용자 매뉴얼 스마트폰용 모바일학생증 앱 설치 및 기본기능. 강원관광대 스마트 KTC 앱 설치 강원관광대학교 모바일학생증 앱 ( 이하 ‘ 스마트 KTC’ 로 명명 ) 은 안드로이드폰은 Google Play Store, 아이폰 은 App Store 에서 무료로.
스타일 시트(테두리) 오산대학 컴퓨터정보과 김 영 권.
Chapter04 캔버스(2) HTML5 Programming.
Canvas 2D Basics.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 9 장 구조체와 공용체.
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
공통 컨트롤의 종류와 특징을 개관한다. 각종 공통 컨트롤의 사용 방법을 익힌다..
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
1.5 Shapes 1.6 Fill Styles 1.7 Images 1.8 Text
CHAP 8. 그래픽.
자바 5.0 프로그래밍.
Power Java 제14장 배치 관리자.
분할 윈도, 다중 뷰… 영상 통신 연구실 권 동 진 발표 일 : 04월 27일.
3차원 객체 모델링.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
주의할 점!!!! 1. 문자 쓸 때 문자 틀 글자 크기에 맞추기 2. 색 보정할 때 Colorize 체크하고 /
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
JAVA Canvas Swing.
Method & library.
자바응용.
Chapter03 캔버스(1) HTML5 Programming.
10장 tkinter로 GUI 만들기.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
영상처리 실습 인공지능연구실.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Microsoft Word 2002 제4장 그리기와 그림 삽입하기.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Clipping 이진학.
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
CAD 실습 2013년 2학기.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
객체기반 SW설계 팀활동지 4.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
1. 선분 등분하기 (1) 주어진 선분 수직 2등분 하기 ① 주어진 선분 AB를 그린다. ② 점 A를 중심으로 선분AB보다
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
3. 모듈 (5장. 모듈).
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
Learning HTML5 Canvas #2 Jeon Yong ju.
Power Java 제14장 배치 관리자.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
7 생성자 함수.
Presentation transcript:

05. 그래픽 빨간색 사각형 그리기 그래픽 그리기 발 표 자 : 07 정 경 오

빨간색 사각형 그리기 그래픽 그리기 기능을 확인할 수 있는 가장 쉬운 방법은 뷰(View) 클래스를 상속한 후 이 뷰에 직접 그래픽을 그리는 것입니다. 다음은 빨간색 사각형을 화면에 그리기 위한 단계를 보여줍니다. 속성 설명 1단계 새로운 클래스를 만들고 뷰를 상속받습니다. 2단계 페인트 객체를 초기화하고 필요한 속성을 설정합니다. 3단계 onDraw() 메소드 내에 사각형을 그리는 메소드를 호출합니다. 4단계 onTouch() 메소드 내에 터치 이벤트를 처리하는 코드를 넣습니다. 5단계 새로 만든 뷰를 메인 액티비티에 추가합니다.

1단계 - 뷰 상속하기 새로운 CustomView 클래스는 View 클래스를 상속하도록 하고 Context 객체 하나를 파라미터로 전달받는 생성자 하나로 정의합니다.

2단계 - 페인트 객체 초기화하기 페인트 객체는 그래픽을 그리기 위해 필요한 속성을 담고 있습니다. 다음 예제에서는 페인트 객체를 하나 만든 후에 색상을 빨간색으로 설정합니다.

3단계 - onDraw() 메소드 구현하기 onDraw() 메소드는 뷰가 화면에 디스플레이 될 때 자동으로 호출됩니다. 따라서 뷰에 그래픽을 그리기 위해서는 onDraw() 메소드 안에서 캔버스 객체에 정의된 메소드들 중 원하는 것을 호출하여 그리면 됩니다. 다음 예제에서는 캔버스 객체에 정의된 그리기 메소드들 중에서 좌표값과 페인트 객체를 이용해서 사각형을 그리는 drawRect()를 사용합니다.

4단계 - onTouch() 메소드 구현하기 onTouch() 메소드는 터치 이벤트를 처리하는 일반적인 방법을 제공합니다. 다음 예제에서는 손가락으로 누른 곳의 X, Y 좌표값을 토스트 메시지로 잠깐 보여줍니다.

5단계 - 메인 액티비티에 추가하기 이렇게 새로 만든 CustomView 클래스를 메인 액티비티에 추가할 때는 new 연산자를 사용하여 객체를 하나 만든 후 setContentView() 메소드를 이용해 화면 전체에 보여줍니다.

실행 시 화면

그래픽 그리기 속성 설명 캔버스 (Canvas) 그래픽을 그리기 위해 필요한 주요 클래스들은 다음과 같습니다. 속성 설명 캔버스 (Canvas) 뷰의 표면에 직접 그릴 수 있도록 만들어 주는 객체로 그래픽 그리기를 위한 메소드가 정의되어 있습니다. 페인트 (Paint) 그래픽 그리기를 위해 필요한 색상 등의 속성을 담고 있습니다. 비트맵 (Bitmap) 픽셀로 구성된 이미지로 메모리 상에 그래픽을 그리는 데 사용합니다. 그리기 객체 (Drawable) 사각형, 이미지 등의 그래픽 요소가 객체로 정의되어 있습니다.

그래픽 그리기 예제 설명 다음 예제에서는 두 개의 사각형에 색상을 지정하여 채운 후 선으로 그리는 과정을 보여줍니다. 선의 두께를 설정할 때는 setStrokeWidth() 메소드를 사용하고, 투명도를 조절할 때는 setARGB() 메소드를 사용합니다. 점선으로 그리고 싶은 경우에는 안드로이드에서 제공하는 효과 중에서 DashPathEffect 클래스를 이용할 수 있습니다. 여기에서는 선이 그려지는 부분과 선이 그려지지 않는 부분이 각각 5의 크기로 지정되었습니다. 일반적인 선을 그릴 때는 drawLine(), 원을 그릴 때는 drawCircle() 메소드 그리고 텍스트는 drawText() 메소드를 이용할 수 있습니다. 부드럽게 선을 그리고 싶을 경우에는 setAntiAlias(true) 코드를 사용할 수 있으며, 원과 텍스트에 그 효과가 적용됩니다.

그래픽 그리기 - 1 - ①첫 번째 사각형을 Fill 스타일로 설정 ②첫 번째 사각형을 Stroke 스타일로 설정 설정하고 PathEffect 적용

그래픽 그리기 - 2 - ⑤첫 번째 원에 색상 적용 ⑥두 번째 원에 AntiAlias 설정 ⑦첫 번째 텍스트를 Stroke 스타일로 설정 ⑧두 번째 텍스트를 Fill 스타일로 설정 ⑨전체 사각형 중에서 Clipping 영역으로 설정한 사각형의 일부분 그리기

실행 시 화면

캔버스 객체를 이용해 호출할 수 있는 대표적인 메소드들 속성 설명 점 그리기 void drawPoint(float x, float y, Paint paint) 하나의 점을 그립니다. drawPoints()를 이용하면 여러 개의 점을 그릴 수 있습니다. 선 그리기 void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 두 점의 X,Y 좌표값을 이용해 선을 그립니다. drawLines()를 이용하면 여러 개의 선을 그릴 수 있습니다. 사각형 그리기 void drawRect(float left, float top, float right, float bottom, Paint paint) 모서리의 좌표값을 이용해 사각형을 그립니다. 둥근 모서리의 void drawRoundRect(RectF rect, float rx, float ry, Paint paint) 사각 영역과 모서리 부분 타원의 반지름 값을 이용해 둥근 모서리의 사각형을 그립니다. 원 그리기 void drawCircle(float cx, float cy, float radius, Paint paint) 원의 중앙 좌표값과 반지름을 이용해 원을 그립니다. 타원 그리기 void drawOval(RectF oval, Paint paint) 사각 영역을 이용해 타원을 그립니다. 아크 그리기 void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) 사각 영역과 각도를 이용해 아크를 그립니다. 패스 그리기 void drawPath(Path path, Paint paint) 패스 정보를 이용해 연결선 또는 부드러운 곡선을 그립니다. 비트맵 그리기 void drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 비트맵 이미지를 주어진 좌표값에 그립니다.