DrawDashedLine

procedure DrawDashedLine(img: TImage32; const line: TPathD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; color: TColor32; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;

procedure DrawDashedLine(img: TImage32; const lines: TPathsD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; color: TColor32; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;

procedure DrawDashedLine(img: TImage32; const line: TPathD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; renderer: TCustomRenderer; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;

procedure DrawDashedLine(img: TImage32; const lines: TPathsD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; renderer: TCustomRenderer; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;


Example 1
  uses Img32, Img32.Fmt.PNG, Img32.Vector, Img32.Draw;
  ...
  var
    img: TImage32;
    path: TPathD;
    rec: TRect;
  begin
    img.SetSize(256,256);
    rec := img.Bounds;
    Windows.InflateRect(rec, -20, -20);
    path := RoundRect(rec, 30);
    DrawDashedLine(img, path,
      [20,15,10,15], nil, 7, clNavy32, esPolygon);
    img.SaveToFile('dashedLine1.png');
    img.Free;
  end;
    
Example 2
  uses Img32, Img32.Fmt.PNG, Img32.Vector, Img32.Draw;
  ...
  var
    img: TImage32;
    linGradRend: TLinearGradientRenderer;
    path: TPathD;
    rec: TRect;
  begin
    img := TImage32.Create(256,256);
    rec := img.Bounds;
    Windows.InflateRect(rec, -20, -20);
    path := RoundRect(rec, 30);

    linGradRend := TLinearGradientRenderer.Create;
    linGradRend.SetParameters(PointD(20,30),
      PointD(230,220), clFuchsia32, clBlue32);
    linGradRend.InsertColorStop(0.1, clFuchsia32);
    linGradRend.InsertColorStop(0.2, clRed32);
    linGradRend.InsertColorStop(0.5, $FFFFDD00);
    linGradRend.InsertColorStop(0.6, clLime32);
    linGradRend.InsertColorStop(0.9, clAqua32);
    DrawDashedLine(img, path,
      [20,15,10,15], nil, 7, linGradRend, esPolygon);
    linGradRend.Free;
    
    img1.SaveToFile('dashedLine2.png');
    img1.Free;
  end;