zoukankan      html  css  js  c++  java
  • 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个多边形等。

  • 相关阅读:
    hdu 3367 Pseudoforest
    hdu 2489 Minimal Ratio Tree
    hdu 4009 Transfer water
    poj 3164 Command Network
    hdu 3926 Hand in Hand
    hdu 3938 Portal
    5-26日(面经总结)
    5-25日
    5-21日|5-22日
    5-13日记录|5-14日
  • 原文地址:https://www.cnblogs.com/spiritofcloud/p/3982640.html
Copyright © 2011-2022 走看看