Windows程序设计 读书笔记 GDI轨迹/字体轮廓

一、轨迹生成:      
    BeginPath (hdc) ;//开始轨迹

  TextOut(...);
    MoveToEx (hdc, 40, 25, NULL) ;
    LineTo   (hdc, 50, 75) ;
    LineTo   (hdc, 60, 25) ;
  CloseFigure();//用直线封闭轨迹
    EndPath (hdc) ;//结束轨迹
    StrokePath (hdc) ;  //画出轨迹

二、轨迹处理:

  StrokePath   //画出轨迹

  FillPath   //填充

  StrokeAndFillPath   //画出并填充     

  PathToRegion   // 转化为区域

  SelectClipPath          //选入剪切区域
  带填充或区域的,都要自动用直线封闭

三、扩展画笔

  LOGBRUSH    lb ;
    lb.lbStyle = BS_SOLID ;
    lb.lbColor = RGB (128, 128, 128) ;
    lb.lbHatch = 0 ;
    SelectObject (hdc,
                  ExtCreatePen (PS_SOLID | PS_GEOMETRIC |PS_ENDCAP_ROUND | PS_JOIN_ROUND,&lb, 0, NULL)) ;
   

四、CDC::SelectClipPath

BOOL SelectClipPath(int nMode);

返回值:如果成功,则返回非零值,否则为0。

参数:

nMode 指定使用路径的方式,允许以下值:
· RGN_AND 新的剪切区,包括当前剪切区与当前路径的覆盖部分。
· RGN_COPY 新的剪切区即为当前路径。
· RGN_DIFF 新的剪切区即为当前路径,但不包括当前路径部分。
· RGN_OR 新的剪切区,包括当前剪切区的组合区域与当前路径。
· RGN_XOR 新的剪切区,包括当前剪切区的组合区域与当前路径,但不包括覆盖部分。

说明:
为设备上下文选择当前路径作为剪切区,并使用指定模式组合新区域与已存在的剪切区。设备上下文必须包含一个闭合路径。

原文地址:https://www.cnblogs.com/aoyihuashao/p/1724763.html