1. 程式人生 > >WIN32 API畫圖基礎

WIN32 API畫圖基礎

這裡介紹WIN32 API簡單畫圖函式的使用

在回撥函式case: WM_PAINT函式中加入以下程式碼

case WM_PAINT:
        {

            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hWnd, &ps);
            // TODO: 在此處新增使用 hdc 的任何繪圖程式碼...
			HBRUSH hBrush;     // 定義畫刷的控制代碼
			HPEN hPen;         // 定義畫筆的控制代碼
			POINT points[6] = { { 100,212 },{ 70,227 },{ 70,250 },{130,250}, { 130,227 },{ 100,212 } };
			hPen = (HPEN)GetStockObject(NULL_PEN);  // 獲取系統定義的空筆
			SelectObject(hdc, hPen);                // 選擇畫筆
			hBrush = (HBRUSH)GetStockObject(BLACK_BRUSH); // 獲取系統定義的畫刷(黑色)
			SelectObject(hdc, hBrush);              // 選擇畫刷
			LineTo(hdc, 50, 50);                    // 將筆移動到起始位置
			hPen = CreatePen(PS_SOLID, 2, RGB(255, 0, 0)); // 建立畫筆
			SelectObject(hdc, hPen);
			
			LineTo(hdc, 150, 50);
			LineTo(hdc, 100, 137);       // 畫一個三角形
			LineTo(hdc, 50, 50);
			
			Polyline(hdc, points, 6);     // 畫一個五邊形
			
			Arc(hdc, 63, 137, 138, 212, 100, 137, 100, 137);   // 畫一個橢圓

			Pie(hdc, 213, 137, 288, 212, 240, 137, 260, 137);  // 畫一個橢圓,填充顏色

			Rectangle(hdc, 213, 212, 287, 250);                // 畫一個矩形


			DeleteObject(hPen);
			DeleteObject(hBrush);

            EndPaint(hWnd, &ps);
        }
        break;

這裡畫線的函式是LineTo是從當前位置,到給定輸入位置

Polyline是根據點的指向繪製多邊形函式,其中第二個引數是點的結構體,(注意點的順序以及閉合),第三個引數是點的個數

畫矩形引數Rectangle()的後面四個引數是矩形的左上角和右下角

畫橢圓函式