zoukankan      html  css  js  c++  java
  • 路径层函数

    路径层函数
    CBrush::CreateSolidBrush
    BOOL CreateSolidBrush( COLORREF crColor );
    返回值 成功非零; 失败返零.
    参数 crColor 是颜色结构体变量,指定画刷颜色. 颜色可以是指定一个RGB值,也可以通过WINDOWS.H的RGB宏来构造
    说明:用指定的固体颜色初始化画刷;可以被任何设备上下文选为当前画刷.应用完由CreateSolidBrush创建的画刷要将它从设备上下文里取出。

    CDC::FillPath
    BOOL FillPath( );
    返回值 成功非零; 失败返零.
    说明:关闭当前路径中的所有打开的数据并使用当前画刷和多边形填充模式填充路径内部。当路径内部填充完,路径从设备上下文中抛弃。

    CDC::EndPath
    BOOL EndPath( );
    返回值 成功非零; 失败返零.
    说明:关闭某个等级的路径并将由定义为该等级的路径选入设备上下文

    CDC::BeginPath
    BOOL BeginPath( );
    返回值 成功非零; 失败返零.
    说明:在设备上下文中打开某个等级的路径。打开后,应用可以开始调用GDI的图形绘制函数来定义位于路径里的点。应用也可以通过调用成员函数EndPath来关闭该路径。当应用调用BeginPath,任何之前的路径都被抛弃。

    代码部分
    CRect rect;
    GetClientRect(rect);
    pDC->SetMapMode(MM_ANISOTROPIC);
    pDC->SetWindowExt(rect.Width(), rect.Height());
    pDC->SetViewportExt(rect.Width(), -rect.Height());
    pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2);

    CPoint p[7];
    p[0] = CPoint(-160, 20);
    p[1] = CPoint(-240, 100);
    p[2] = CPoint(-280, 0);
    p[3] = CPoint(-240, -100);
    p[4] = CPoint(-180, -40);
    p[5] = CPoint(-140, -100);
    p[6] = CPoint(-60, 40);

    CBrush NewBrush;
    NewBrush.CreateSolidBrush(RGB(255, 0, 0));
    CBrush *pOldBrush = pDC->SelectObject(&NewBrush);

    pDC->BeginPath();

    pDC->MoveTo(p[0]);
    for (int i = 1; i < 7; i++)
    pDC->LineTo(p[i]);
    pDC->LineTo(p[0]);

    pDC->EndPath();

    pDC->FillPath();

    CPen NewPen, * pOldPen;
    NewPen.CreatePen(PS_SOLID, 5, RGB(0, 0, 0));
    pOldPen = pDC->SelectObject(&NewPen);

    p[0] = CPoint(200, 20);
    p[1] = CPoint(120, 100);
    p[2] = CPoint(80, 0);
    p[3] = CPoint(120, -100);
    p[4] = CPoint(180, -40);
    p[5] = CPoint(220, -100);
    p[6] = CPoint(300,40);

    pDC->BeginPath();

    pDC->MoveTo(p[0]);
    for(i = 1; i < 7; i++)
    pDC->LineTo(p[i]);
    pDC->LineTo((p[0]));

    pDC->EndPath();

    pDC->StrokeAndFillPath();

    pDC->SelectObject(pOldBrush);
    pDC->SelectObject(pOldPen);
    NewBrush.DeleteObject();

    打开路径,绘制,关闭路径,填充路径
    “路径层函数”,“层”是指绘制的那条线以及由线构成的闭合区域,而不是所有的视图区。

  • 相关阅读:
    Cesium加载Geoserver wtms服务和wms服务
    使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
    Cesium 绕点旋转飞行效果
    时间分片技术(解决 js 长任务导致的页面卡顿)
    Cesium随笔:视锥绘制(下)
    使用geoserver发布arcgis切片
    Cesium点击获取模型或者地形点的位置
    npm库使用roullup封装经验总结
    一个删除node_modules文件夹的脚本
    cesium点击面高亮事件
  • 原文地址:https://www.cnblogs.com/qbin/p/4979224.html
Copyright © 2011-2022 走看看