GUI/GDI
-
GDI+GUI/GDI 2009. 5. 7. 22:16
GDI의 기능을 개선한 클래스 라이브러리 // C++ 윈도우즈 XP, 비스타 비주얼 스튜디오 2005 gdiplus.dll GdiplusStartup() GdiplusShutdown() Color GraphicsPath -> GdiplusBase .AddEllipse() .AddPolygon() FontFamily -> GdiplusBase Pen -> GdiplusBase .SetAlignment() PenAlignmentCenter|PenAlignmentInset .SetStartCap() LineCapSquare|LineCapRound|LineCapTriangle|LineCapNoAnchor|LineCapSquareAnchor| LineCapRoundAnchor|LineCapDiamondAnchor..
-
디바이스 콘텍스트 - Win32GUI/GDI 2009. 4. 9. 01:32
윈도우즈는 디바이스 콘텍스트의 수를 제한한다. 디바이스 컨텍스트 객체가 파괴될 때, 이와 관련된 모든 GDI 객체의 선택이 해제된다. // ??? WM_PAINT 메시지가 발생하였을 때 HDC hDC; PAINTSTRUCT ps; hDC = BeginPaint(hWnd, &ps); // DC의 핸들을 얻는다. // DC 핸들을 가지고 작업을 한다. EndPaint(hWnd, &ps); // 사용 후에는 DC를 반드시 반환한다. 윈도우의 클라이언트 영역에 그리(출력)고자 할 때 HDC hDC; hDC = GetDC(hWnd); // DC의 핸들을 얻는다. // DC 핸들을 가지고 작업을 한다. ReleaseDC(hWnd, hDC); // 사용 후에는 DC를 반드시 반환한다. 윈도우 클라이언트 영역뿐만 아니..
-
-
Draw - Win32GUI/GDI 2009. 4. 8. 22:22
GetSysColor() COLOR_3DFACE|COLOR_BTNTEXT InvalidateRect() on WM_ERASEBKGND 윈도우 크래스에 등록된 배경 브러시로 작업영역을 지운다. c.f. InvalidateRect() WM_PAINT BeginPaint() EndPaint() GetClientRect() GDI(Graphic Device Interface) 하드웨어 종류에 상관없이 통일된 방법으로 출력 // 하드웨어 독립 모니터나 프린터 등의 여러 가지 출력 장비 개발 업체들이 윈도 운영 체제에서 동일한 방법으로 처리할 수 있는 디바이스 드라이버를 제공한다. DC(Device Context) BeginPaint() EndPaint() GetDC() ReleaseDC() CreateCompat..
-
PCXGUI/GDI 2009. 4. 8. 22:19
Run Length Encoding typedef struct PCX_HEADER { char manufacturer; // 1 char version; // 2 char encoding; // 3 char bits_per_pixel; // 4 short int xmin,ymin; // 5 , 6, 7, 8 short int xmax,ymax; // 9 10, 11, 12 short int hres; // 13, 14 short int vres; // 15, 16 char palette16[48]; // 17-64 char reserved; // 65 char color_planes; // 66 short int bytes_per_line; // 67, 68 short int palette_type; /..
-
텍스트 그리기 - Win32GUI/GDI 2009. 3. 26. 21:51
SetBkMode() GetBkMode() SetBkColor() GetBkColor() SetTextColor() GetTextColor() DrawText() TextOut() SetTextColor() GetTextMetrics() TEXTMETRIC .tmHeight // 폰트 높이 GetTextExtentPoint32() #include void FormattedTextOut(HDC hDC, int x, int y, LPCTSTR fmt, ...) { char buf[2048]; va_list vlist; va_start(vlist, fmt); int nRet = _vsnprintf(buf, sizeof(buf), fmt, vlist); /* this is safe */ // int nRet =..
-
비트맵 - Win32GUI/GDI 2009. 3. 7. 17:04
CreateCompatibleDC() DeleteDC() DDB만이 메모리 DC에 선택될 수 있다. DDB로 변경 LoadBitmap() DeleteObject() LoadImage() LoadIcon, LoadCurosr, LoadBitmap 16비트 함수의 모든 기능을 통합해서 가지는 함수이며 몇가지 추가적인 기능을 더 가지고 있다. 이미지를 DIB 색션으로 읽을 수 있으며 파일 형태의 이미지를 읽을 수 있는 능력이 있으며 투명 처리, 크기 선택 등의 옵션이 적용된다. 32비트 프로그램에서는 가급적이면 이 함수로 이미지를 읽는 것이 좋다. 이 함수를 사용하면 DIB 파일을 읽어와 화면으로 출력할 수 있다. 이미지를 프린터로 출력할 때나 표준 크기가 아닌 아이콘을 읽을 때는 LoadIcon, LoadB..