WIN32 API畫圖基礎
阿新 • • 發佈:2018-11-25
這裡介紹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()的後面四個引數是矩形的左上角和右下角
畫橢圓函式