procedure DrawInvertedDashedLine(img: TImage32; const line: TPathD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;
procedure DrawInvertedDashedLine(img: TImage32; const lines: TPathsD; dashPattern: TArrayOfDouble; patternOffset: PDouble; lineWidth: double; endStyle: TEndStyle; joinStyle: TJoinStyle = jsAuto); overload;
uses Img32, Img32.Fmt.PNG, Img32.Vector, Img32.Draw;
...
var
img: TImage32;
path: TPathD;
rec: TRect;
begin
img.SetSize(256,256);
rec := img.Bounds;
rec.Right := rec.Right div 4;
path := Rectangle(rec);
//draw a multicolored background
DrawPolygon(img, path, frEvenOdd, clRed32);
path := OffsetPath(path, rec.Width, 0);
DrawPolygon(img, path, frEvenOdd, clYellow32);
path := OffsetPath(path, rec.Width, 0);
DrawPolygon(img, path, frEvenOdd, clLime32);
path := OffsetPath(path, rec.Width, 0);
DrawPolygon(img, path, frEvenOdd, clBlue32);
//draw a color inverted dashed line
path := Ellipse(RectD(30,30,226,226));
DrawInvertedDashedLine(img, path,
[30, 8], nil, 10, esPolygon, jsMiter);
img.SaveToFile('InvertedDashedLine.png');
img.Free;
end;
Copyright ©2010-2023 Angus Johnson - Image32 4.8 - Help file built on 16 Apr 2025