如何用mfc在屏幕上绘制一个三角形,指定三个顶点的颜色分别为红、绿、蓝三色然后用边标志填充算法光滑着色填充该三角形。
时间: 2024-03-30 08:34:17 浏览: 216
可以使用以下代码实现:
```cpp
void CMyView::OnDraw(CDC* pDC)
{
// 创建画刷
CBrush redBrush(RGB(255, 0, 0));
CBrush greenBrush(RGB(0, 255, 0));
CBrush blueBrush(RGB(0, 0, 255));
pDC->SelectObject(&redBrush);
// 创建一个点数组,指定三角形的三个顶点坐标
POINT points[3];
points[0].x = 100;
points[0].y = 100;
points[1].x = 200;
points[1].y = 100;
points[2].x = 150;
points[2].y = 200;
// 用边标志填充算法光滑着色填充该三角形
pDC->Polygon(points, 3);
// 释放画刷资源
redBrush.DeleteObject();
greenBrush.DeleteObject();
blueBrush.DeleteObject();
}
```
在上述代码中,我们首先创建了三个画刷对象,分别对应红、绿、蓝三色。然后使用`SelectObject`函数将画刷选入DC中。
接下来,我们创建一个点数组,指定三角形的三个顶点坐标。最后,使用`Polygon`函数将三角形绘制出来,并用边标志填充算法光滑着色填充该三角形。
最后,我们需要释放画刷资源,以避免资源泄露。
阅读全文