|
'그래픽프로그래밍'에 해당되는 글 1건
[폭주기관차, 2007/09/07 16:33, [Programming]/Visual C++ API/MFC]
먼저 ->나 .를 눌렀을 때 하부 메소드, 프로퍼티가 나오지 않은 것은
GDI+가 네임스페이스로 정의되어 있기 때문입니다. 그럼, GDI+의 기본적인 사용법을 차례로 알려드리겠습니다. 1. 필요 헤더파일 #include <gdiplus.h> 2. 필요 라이브러리 파일 #pragma comment( lib, "gdiplus.lib" ) 3. 네임스페이스 지정 using namespace Gdiplus; 4. 프로그램 시작과 종료시 넣어줘야 하는 코드. GDI+는 사용하기 전에 Startup을 해줘야 하고, 종료전에 Shutdown을 해줘야 합니다. 예를 들면 다음과 같은 방식이겠죠. // GDI+ 스타트업 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { GdiplusStartupInput gsi; ULONG_PTR uToken; GdiplusStartup( &uToken, &gsi, NULL ); . . . . . . . GdiplusShutdown( uToken ); return static_cast< int >( msg.wParam ); } 5. 간단한 사용방법 그리고 그래픽스개체( Graphics )는 다음과 같이 사용합니다. 이미지 로드를 어떻게 하는지 그걸로 해보죠. HDC hdc = ::GetDC( hWnd ); // 생성자에 디바이스 컨텍스트를 입력합니다. // 지금부터 그래픽스 개체를 사용할 수 있게 됩니다. Graphics* pG = new Graphics( hdc ); // 이미지 개체를 생성합니다. 생성자에 이미지의 경로를 입력합니다. Image* pIMG = new Image( L"C:\\imgx.jpg" ); // 0, 0에 이미지를 그립니다. 0, 0에서 시작하여 이미지 크기대로 그려집니다. // 오버로딩되어있어 여러옵션으로 그릴 수 있습니다. pG->DrawImage( pIMG, 0, 0 ); // 소멸시킵니다. delete pIMG; delete pG; // 디바이스 컨텍스트 핸들을 돌려줍니다. ::ReleaseDC( hdc ); GDI보다 100배는 쉬워졌죠? 그리고 BMP뿐아니라 JPG, GIF등등의 파일도 그릴 수 있습니다. 추가로 GDI + SDK를 받는 사이트도 적었습니다.(추가 2007년 10월 2일) GDI Plus DLL 파일 받으러 가기 GDI Plus 라이브러리 받으러 가기 예전에 데브피아에서 보았던 글인데, 당시엔 블로그라는게 없어서 Trackback Address :: http://kongmks.cafe24.com/trackback/252
|
||





