WIN32 API画图基础

时间:2024-03-26 19:28:50

这里介绍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()的后面四个参数是矩形的左上角和右下角

画椭圆函数

WIN32 API画图基础

WIN32 API画图基础