• PolyPolyLine


    PolyPolyline(
    DC: HDC; {设备环境句柄}
    var Points; {点数组}
    var nPoints;{数组, 数组元素是每个组的顶点数}
    p4: Integer {分组数, 也就是 nPoints 的元素数}
    ): BOOL;
    --------------------------------------------------------------------------------

    //举例:
    procedure TForm1.FormPaint(Sender: TObject);
    var
    ps: array[0..9] of TPoint;
    pn: array[0..1] of Integer;
    begin
    {组1:}
    ps[0].X := 50;
    ps[0].Y := 50;
    ps[1].X := 100;
    ps[1].Y := 50;
    ps[2].X := 125;
    ps[2].Y := 75;
    ps[3].X := 100;
    ps[3].Y := 100;
    ps[4].X := 50;
    ps[4].Y := 100;
    ps[5].X := 25;
    ps[5].Y := 75;
    {组2:}
    ps[6].X := 200;
    ps[6].Y := 25;
    ps[7].X := 300;
    ps[7].Y := 25;
    ps[8].X := 300;
    ps[8].Y := 125;
    ps[9].X := 200;
    ps[9].Y := 125;

    pn[0] := 6; {组1有6个顶点}
    pn[1] := 4; {组2有4个顶点}

    PolyPolyline(Canvas.Handle, ps, pn, 2);
    end;

    描述:
    有10个点,分两组话,前6个一组,后4个一组。

    说明2
    BOOL PolyPolyline(
    HDC hdc, // handle to device context
    CONST POINT *lppt, // array of points
    CONST DWORD *lpdwPolyPoints, // array of values
    DWORD cCount // number of entries in values array
    );

    lpdwPolyPoints表示了如何对lppt中的点进行分组。每一组构成一个折线。

    比如在lppt中指定了14个点,此时 lpdwPolyPoints 可以是 [2, 3, 5, 4], cCount为4, 表
    示这14个点被分作4组,即前2个点为一组,接下来3个点为一组,依次类推,共4组。lpdwPo
    lyPoints中每个值都要大于等于2,避免出现孤立的点。

    绘制时,按照分组分别将各点用线段连接起来。组和组不会自动用线段连接起来。这个函数
    的功能可以认为是“批量绘制折线”。通过设置正确的分组和坐标,可以实现很多效果:比
    如一次绘制n个多边形等。

  • 相关阅读:
    Robot Framework--06 用户关键字User Keyword
    Robot Framework--05 案例设计之流程与数据分离
    Robot Framework--04 工作区
    Robot Framework--03 案例及资源区
    Robot Framework--02 菜单栏&工具栏
    Robot Framework--01 创建简单工程示例
    uoj#35 后缀排序(后缀数组模版)
    【学习笔记】动态树Link-Cut-Tree
    【随意学学】三分法
    【学习笔记】dsu on tree
  • 原文地址:https://www.cnblogs.com/spiritofcloud/p/3982640.html
Copyright © 2020-2023  润新知