본문 바로가기

GDI

Ellipse 그리기. 랜덤 함수를 써서 윈도우에 다양한 타원.. 간단하게 CDC::Ellipse() 함수를 이용해서 윈도우에 랜덤한 타원을 출력시키는 프로그램. CBrush와 CPen으로 브러시와 펜을 생성및 초기화 하고 SelectObject 함수로 DC에 선택한다. #include class CEllipseApp: public CWinApp { public: virtual BOOL InitInstance(); }; CEllipseApp theApp; class CMainWnd : public CFrameWnd { public: CMainWnd(); ~CMainWnd(); afx_msg void OnTimer(UINT nIDEvent); DECLARE_MESSAGE_MAP(); }; void CMainWnd::OnTimer(UINT nIDEVENT) { CClien.. 더보기
윈도우즈 그래픽 출력함수 윈도우 그래픽 출력함수들은 모두 CDC멤버함수로 되어있다. GDI객체를 프로그래머가 만들어서 사용할수도 있다. 일반적으로 내부에 있는 GDI객체를 Stock object라 한다. 이는 CDC::SelectStockObject함수를 이용해서 사용할 수 있다. 이것도 마찬가지로 이전의 DC에 설정된 GDI오브젝트를 리턴하게 된다. 작업을 끝낸후 다시 복구해야 한다. 픽셀 관련함수 CDC::SetPixel() CDC::GetPixel() 선그리기 함수 CDC::MoveTo() CDC::LineTo() CDC::PolyLine() CDC::Arc() CDC::PolyBezire() 타원과 다각형 그리기 함수 CDC::Rectangle() CDC::RoundRect() CDC::Ellipse() CDC::Chor.. 더보기
윈도우 그래픽 프로그래밍 OnDraw (환경 : VS 2005에서 실행하였다.) 간단하게 프로젝트에서 Line 이란 프로젝트를 생성한다. single document로 생성. 그중 view 클래스에서 OnDraw함수를 찾는다. CLineView::OnDraw() . 이넘이 실질적으로 윈도우에 그림을 뿌려준다... code ---------------------------------------------------------------- void CLineView::OnDraw(CDC* pDC) { CLineDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다. CPen penRed(PS_SOLID,0,RGB(2.. 더보기
GDI 객체 이용하기 윈도우즈에서 화면에 그림을 그리는 넘들을 GDI객체라 말한다. MFC에서 GDI객체를 표현하는 클래스는 CGdiObject클래스에서 상속받는다. 그래픽오브젝트 CPen 점,선, 특정영역 테두리를 그린다. 검정색, 실선, 1픽셀 크기가 디폴트 CreatePen, CreatePenIndirect 이용 CBrush 내부 칠하기. 무늬 없는 흰색이 디폴트 CreateSolidBrush, CreateHaHatchBrush,CreatePatternBrush,CreateDBPatternBrush, CreateBrushIndirect CFont 글꼴을 조정. CreateFont, CreateFontIndirect CBitmap 비트맵을 출력한다. CreateBitmapIndirect, CreateCompatibleBi.. 더보기