CDC类中绘图函数Polygon,多边形填充

 在MFC绘图中,CDC类中有个绘制多边形的函数Polygon(),原型为
CDC::Polygon(const POINT* lpPoints, int nCount)
  其中lpPoints是多边形顶点数组首地址,nCount是多边形顶点数,如果最后一个顶点与起始顶点不同,则会默认在最后一个顶点与起始点之间连一条线。如果要绘制填充多边形,则需要使用画刷Brush,下面是一个例子。

    // TODO: 在此处为本机数据添加绘制代码
    CPoint p[4];//定义多边形顶点
    p[0].x = 10; p[0].y = 100;
    p[1].x = 200; p[1].y = 100;
    p[2].x = 500; p[2].y = 60;
    p[3].x = 10; p[3].y = 300;
    
    CPen MyPen, *OldPen;//定义画笔
    MyPen.CreatePen(PS_SOLID,1,RGB(0,0,255));//创建蓝色画笔
    OldPen = pDC->SelectObject(&MyPen);//选中画笔到设备上下文
    CBrush MyBrush, *OldBrush;//定义填充画刷
    MyBrush.CreateSolidBrush(RGB(255,0,0));//创建红色画刷
    OldBrush=pDC->SelectObject(&MyBrush);//选中画刷到设备山下文

        //画多边形

    pDC->Polygon(p , 4);//p为点集,4表示有4个点
    
    pDC->SelectObject(OldPen); //画框线为蓝色
    pDC->SelectObject(OldBrush); // 填充为红色
    MyPen.DeleteObject();//删除画笔
    MyBrush.DeleteObject();//删除画刷

结果如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值