Computer Graphics 1 윈도우 프로그래밍 실습 II 김 창 헌김 창 헌.

Slides:



Advertisements
Similar presentations
Copyright © 2015 Pearson Education, Inc. 6 장 : 프로그래밍 언어.
Advertisements

YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
Computer Graphics 윈도우 프로그래밍 김 창 헌김 창 헌. Computer Graphics 2 윈도우 시스템  윈도우  스크린 위에서 독립적으로 움직일 수 있는 사각형 영역  윈도우 시스템  유저와 어플리케이션간의 그래픽 스크린을 통한 인터페이스 를.
CH5 디버그를 해보자 디버그 디버거 : 실행중인 응용 프로그램을 지정한 장소에서 정지하고, 그 시 점에서 변수, 메모리, 콜 스택의 내용을 참조하는것이 가능 Build -> Start Debug -> Go.
CH1 개발 효율이 높은 프로그램 구조
컴퓨터 공학 설계 및 실험 I MFC programming
목 차 I 방위산업의 정의 II 방위산업의 특성 III 방위산업의 현황.
Web Project 작업3: Design기획 Article 토론 Group Project 토론
1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도    1. 기관별 맞춤형 집중교육 : 실습 및 개인별 집중지도 (상설) 기관별 맞춤형 교육 - 당 교육기관에서.
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
03장 영상처리를 위한 Visual C++ 디지털 영상 파일 포맷 MFC 응용 프로그램 마법사를 이용한 MFC 프로젝트 작성
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
윈도우 운영체제와 윈도우 응용 프로그램의 특징을 이해한다.
C++ Espresso 제1장 기초 사항.
Lecture 2 MFC and Application Frameworks
Visual C++ Programming Dialog Box
윈도우의 화면 출력 원리를 이해한다. CDC 클래스를 이용한 화면 출력 기법을 배운다.
C++ Espresso 제2장 제어문과 함수.
다이얼로그 박스와 컨트롤 컴퓨터 계측 및 실습.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
컬러 LED바 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 컬러 LED바 이해 및 프로그램 실습 응용 작품 만들기.
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
데이터 구조 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
윤 홍 란 MFC 기초 윤 홍 란
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
명품 C++ 8장 상속.
7. while 문의 흐름 제어.
CHAP 7. 메뉴와 대화상자.
Microsoft Visual C++ 제 1편 입문편 5장. 샘플 프로그램의 사용자화
6장 히스토그램 처리 차 례 히스토그램의 개요 히스토그램의 용도 영상 이치화 히스토그램 평활화 히스토그램 스트레칭
MFC Application Frameworks (AFX)
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Lecture 3 Graphics with GDI
김 정 석 Web Programming 김 정 석
C++ 개요 객체지향 윈도우즈 프로그래밍 한국성서대학교 유일선
캡스톤 물리 음성 인식을 통한 무드 등 지금은 6시 55분 조.
올바른 이메일 사용법
OpenGL Project 조민정 장선례.
프로그래밍 보고서 작성법 순천향대학교 컴퓨터공학과 하 상 호.
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
가상함수와 추상 클래스.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Chapter 4 컬러( COLOR ).
HDTV 영상제작의 변화 발표조:10조.
6장 데이터 타입(3) 순천향대학교 컴퓨터공학부 하 상 호.
myfood.com 상명대 맛집 홈페이지 구축 제안서
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Chap02 객체 지향 개념 2.1 객체지향(object-oriented)과 절차지향(procedural-oriented)
Lab 9 Guide: 인터넷 프로그래밍 예제 * 일대일 채팅 프로그램 (교재 27장, 쪽)
자바 5.0 프로그래밍.
Chapter 02. 소프트웨어와 자료구조.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
3D Shapes 3개 핵심 Properties가 존재 1.Material 표면의 재질을 설정합니다.
단면도 물체의 일부를 잘라낸 것으로 가정하여 투상도 작성. 해칭선 이용 절단평면을 단면선으로 표시.
제 11장. 템플릿과 STL 학기 프로그래밍언어및실습 (C++).
데이터 구조 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
04장 ㅎㅎ 화소점 처리 화소 점 처리의 개념 디지털 영상의 산술연산과 논리연산 디지털 영상의 다양한 화소 점 처리 기법
토지보상과 세금 2007년 7월 김 형 록.
컴퓨터 계측 및 실습 C++ 기초 영남대학교 기계공학부.
제9주 예산 수립과 집행.
캡슐화 (Encapsulation) 두원공과대학 소프트웨어개발과 이 원 주.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
실습과제 1번 /* 1. 멤버 변수로 반경 radius를 갖고, 그 값을 모니터에 출력하는
C.
Smart & Green Technology Innovator
제 4장 Visual C++ COM 컴파일러.
Presentation transcript:

Computer Graphics 1 윈도우 프로그래밍 실습 II 김 창 헌김 창 헌

Computer Graphics 2 Visual C++ 그래픽 프로그램  GDI( Graphic Device Interface ) 이용한 프로그램  GDI 란 ? 응용프로그램과 디바이스 드라이버의 중간 다리 역할을 하 는 것으로 응용 프로그램에 대한 장치 비 의존적인 그래픽 동작을 수 행한다.  디바이스 컨텍스트 (DC)  그래픽 객체들의 속성과 그래픽 모드를 정의하는 자료의 집합체로 출력 장치에 정보를 표시할 때 필요한 정보를 저장하는 구조체 윈도우프로그램예제

Computer Graphics 3 도형 그리기 프로그램  속성 시트에서 도형의 모양과 칼라를 선택하여 마우스 를 클릭한 지점에 도형을 그리는 프로그램.

Computer Graphics 4 도형 그리기 프로그램  AppWizard 를 사용하여 “draw” 프로젝트 파일을 생성하고 골격 코드를 작성한다. (SDI 모드 )

Computer Graphics 5 도형 그리기 프로그램  속성 페이지 다이얼로그박스  속성 페이지 다이얼로그 박스 를 생성한다.  Style 페이지 : IDD_STYLE  Color 페이지 : IDD_COLOR

Computer Graphics 6 도형 그리기 프로그램  각 페이지 다이얼로그 박스의 Dialog Properties 박스에서 다음 속성을 지정한다.

Computer Graphics 7 도형 그리기 프로그램  각 페이지의 첫번째 라디오 버튼 속성에서 Group 을 체 크한다.

Computer Graphics 8 도형 그리기 프로그램  속성 페이지의 다이얼로그 박스를 Cproperty Page 클래 스에서 상속받는 새로운 클래스를 생성한다. Style 속성페이지 : CStylePage Color 속성페이지 : CColorPage

Computer Graphics 9 도형 그리기 프로그램  속성 페이지의 컨트롤과 관련된 데이터 멤버를 등록한다.  Style page 의 라디오 버튼  control IDs: IDC_RECTANGLE  type : int  member variable :m_nShapeStyle  Color page 의 라디오 버튼  Control IDs : IDC_BLACK  Type : int  member variable : m_nColor

Computer Graphics 10 도형 그리기 프로그램  속성 시트의 클래스를 생성한다.  ClassWizard 를 실행하여 CPropertySheet 클래스에서 상속받 는 CModalSheet 클래스를 만든다.

Computer Graphics 11 도형 그리기 프로그램  CmodalSheet 클래스에 속 성 페이지 클래스 객체를 정의한다.  클래스 멤버를 정의할 때 헤더 파일에 바로 코 딩하지 말고 Class View 의 팝업 메뉴에서 “Add Member Variable” 메뉴 를 통해 등록하는 것이 좋음. #include “ColorPage.h”//Added by ClassView #include “StylePage.h” class CModalSheet : public CpropertySheet { public : CColorPage m_colorPage; CStylePage m_stylePage; };

Computer Graphics 12 도형 그리기 프로그램  생성자에서 속성 시트에 속성 페이 지를 추가한다. 추 가되는 순서가 속 성 시트에 나타나 는 순서이다. CModalSheet :: CModalSheet(LPCTSTR pszCaption,CWnd* pParentWnd,UNIT ISelectPage);CPropertySheet(pszCaption,pParentW nd,iSelectPage) { AddPage(&m_stylePage); AddPage(&m_colorPage); }

Computer Graphics 13 Class CDrawView : public Cview { protected: Crect m_rect; int m_nDrawStyle; int m_nDrawColor; } CDrawView:: CDrawView() { m_nDrawColor=0; m_nDrawStyle=0; } 도형 그리기 프로그램  뷰클래스에 도형, 칼라, 범위를 나타내는 멤버를 추가하 고 생성자에서 초기화 한다.

Computer Graphics 14 도형 그리기 프로그램  뷰 클래스에 왼쪽 마우스 버튼을 클릭한 메시지 WM_LBUTTONDOWN 를 처리하는 OnButtonDown 함수를 만든다.  마우스를 클릭한 지점에 현재 지정된 도형 객체에 선택한 색상으로 내부 를 채운 도형을 그린다.

Computer Graphics 15 선택된 도형을 선택된 색으로 그리기. Void CDrawView:: OnLButtonDown(UNIT nFlag,Cpoint point) { COLORREF color[4]={RGB(0,0,0),RGB(255,0,0),RGB(0,255,0 ),RGB(0,0,255)}; CClientDC dc(this); CBrush newBrush(color[m_nDrawColor]); CBrush* pOldBrush=dc.SelectObject(&newBrush) m_rect =Crect(point.x-50,point.y- 50,pint.x+50,point.y+50); switch(m_nDrawStyle) { case 0: //rectangle dc.Rectangle(m_rect); break; case 1: //round rectangle dc.RoundRectangle(m_rect,Cpoint(m_rect.Width()/ 8,m_rect.Heigh()/8); break; Case 2://ellipse dc.RoundRect(m_rect); break;} dc.SelectObject(pOldBrush); Cview:: OnButtonDown(nFlags,point); }

Computer Graphics 16 도형 그리기 프로그램  속성 시트를 호출할 메뉴를 만들어 뷰 클래스에 메뉴 항목에 대한 명령 핸들러를 설치하고 함수를 오버라이 드한다. void CDrawView:: OnModalSheet() { CModalSheet dlg(“ 내가 만든 속성 시트 ”); dlg.m_colorPage.m_nColor=m_nDrawColor; dlg.m_stylePage.m_nShapeStyle = m_nDrawStyle; if(dlg.DoModal() == IDOK) { m_nDrawColor = dlg.m_colorPage.m_nColor ; m_nDrawStyle = dlg.m_nShapeStyle; }

Computer Graphics 17 도형 그리기 프로그램  컴파일 하고 실행한다.

Computer Graphics 18 윈도우 프로그래밍 과제물  도형 모양과 칼라 선택하여 도형 그리기  마우스를 클릭한 곳에 지정된 모양과 색깔의 도형 그리기

Computer Graphics 19 과제물 요구사항  내용  제공하는 코드를 참조하여, 그려질 도형과 칼라를 추가  기본 요구사항  삼각형, 타원, 다각형, 부채꼴, etc.. 등의 도형을 추가할 수 있 어야 함  Black, Red, Green, Blue 이외의 색상을 지정할 수 있어야 함

Computer Graphics 20 과제물 추가 구현 사항  도형을 그룹화 해서 새로운 도형을 만듦  하트, 별, 꽃, 나비, 벌 등  수학 함수를 이용한 Field of “Flower”  마우스를 클릭한 지점에 다양한 모양의 꽃을 그려 줌  꽃잎의 표현은 수학 함수를 이용.  꽃밭은 여러 가지의 꽃이 존재하여야 함.

Computer Graphics 21 꽃잎 만드는 루틴  포트란 소스. PROGRAM SPAT CALL START(40,0) CALL SPIRO(12,7,5) STOP END SUBROUTINE SPIRO(A,B,D) INTEGER A,B,D,AMB PI=ACOS(-1,0) AMB=A-B THETA=0.0 THINC=PI*O.O2 N=B/ICF(A,B) NUM=N * 100 CALL MOVETO(FLOAT(AMB+D),0.0) DO 101 I=1,NUM THETA=THETA* THINC PHI=THETA*FLOAT(AMB)/FLOAT(B) X=FLOAT(AMB)*COS(THETA)+FLOAT(D)*COS(PHI) Y=FLOAT(AMB)*SIN(THETA)+FLOAT(D)*SIN(PHI) CALL LINETO(X,Y) END FUNCTION ICF(II,JJ) I=II J=JJ M=MOD(I,J) IF(M.NE. 0) THEN I=J J=M GOTO 99 ENDIF ICF=J RETURN END 왼쪽 코드 실행 결과

Computer Graphics 22 과제물 제출 및 평가 기준  제출물  실행파일, 보고서  자신이 구현한 부분의 소스 코드 포함, 문제 접근방법 및 알고 리즘 설명  평가기준  기본 요구사항의 구현  독창성  제출기한 준수