Winsoft SVG Canvas for FireMonkey 1.0 XE3 - 10.2 Tokyo Full Source » Developer.Team - Developers Paradise!

Winsoft SVG Canvas for FireMonkey 1.0 XE3 - 10.2 Tokyo Full Source

Winsoft SVG Canvas for FireMonkey 1.0 XE3 - 10.2 Tokyo Full Source
Winsoft SVG Canvas for FireMonkey 1.0 XE3 - 10.2 Tokyo Full Source


Delphi and C++ Builder canvas to SVG conversion library.

Features

Converts canvas drawing to SVG format
Supports Windows 32, Windows 64, macOS, iOS and Android
Available for Delphi/C++ Builder XE3 - 10.2
Source code included in registered version
Royalty free distribution in applications

Example:
with TSvgCanvas.Create('image.svg', Canvas) do
try
  BeginScene;

  Stroke.Color := TAlphaColorRec.Red;
  Stroke.Thickness := 2;
  DrawEllipse(TRectF.Create(10, 10, 220, 120), 0.5);

  EndScene;
finally
  Free;
end;
API
type
  ESvgError = class(Exception)

  TSvgCanvas = class
    constructor Create(Stream: TStream; Canvas: TCanvas);
    constructor Create(const FileName: string; Canvas: TCanvas);

    class procedure Lock;
    class procedure Unlock;

    function AlignToPixel(const Value: TPointF): TPointF;
    function AlignToPixel(const Rect: TRectF): TRectF;
    function AlignToPixelHorizontally(const Value: Single): Single;
    function AlignToPixelVertically(const Value: Single): Single;
    function BeginScene(AClipRects: PClipRects = nil; AContextHandle: THandle = 0): Boolean;
    procedure Clear(const Color: TAlphaColor);
    procedure ClearRect(const ARect: TRectF; const AColor: TAlphaColor = 0);
    procedure DrawEllipse(const ARect: TRectF; const AOpacity: Single = 1.0);
    procedure DrawEllipse(const ARect: TRectF; const AOpacity: Single; const ABrush: TStrokeBrush);
    procedure DrawLine(const APt1, APt2: TPointF; const AOpacity: Single = 1.0);
    procedure DrawLine(const APt1, APt2: TPointF; const AOpacity: Single; const ABrush: TStrokeBrush);
    procedure DrawPolygon(const Points: TPolygon; const AOpacity: Single = 1.0);
    procedure DrawRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single = 1.0; const ACornerType: TCornerType = TCornerType.Round);
    procedure DrawRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single; const ABrush: TStrokeBrush; const ACornerType: TCornerType = TCornerType.Round);
    procedure EndScene;
    procedure FillEllipse(const ARect: TRectF; const AOpacity: Single = 1.0);
    procedure FillEllipse(const ARect: TRectF; const AOpacity: Single; const ABrush: TBrush);
    procedure FillPolygon(const Points: TPolygon; const AOpacity: Single = 1.0);
    procedure FillRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single = 1.0; const ACornerType: TCornerType = TCornerType.Round);
    procedure FillRect(const ARect: TRectF; const XRadius, YRadius: Single; const ACorners: TCorners;
      const AOpacity: Single; const ABrush: TBrush; const ACornerType: TCornerType = TCornerType.Round);
    procedure FillText(const ARect: TRectF; const AText: string; const WordWrap: Boolean; const AOpacity: Single;
      const Flags: TFillTextFlags; const ATextAlign: TTextAlign; const AVTextAlign: TTextAlign = TTextAlign.Center);
    procedure Flush;
    procedure MeasureLines(const ALines: TLineMetricInfo; const ARect: TRectF; const AText: string; const WordWrap: Boolean;
      const Flags: TFillTextFlags; const ATextAlign: TTextAlign; const AVTextAlign: TTextAlign = TTextAlign.Center);
    procedure MeasureText(var ARect: TRectF; const AText: string; const WordWrap: Boolean; const Flags: TFillTextFlags;
      const ATextAlign: TTextAlign; const AVTextAlign: TTextAlign = TTextAlign.Center);
    procedure RestoreState(const State: TCanvasSaveState);
    function SaveState: TCanvasSaveState;
    procedure SetSize(const AWidth, AHeight: Integer);
    function TextHeight(const AText: string): Single;
    function TextWidth(const AText: string): Single;

    property BeginSceneCount: Integer read;
    property ClippingChangeCount: Integer read;
    property Fill: TBrush read write;
    property Font: TFont read;
    property Height: Integer read;
    property Offset: TPointF read write;
    property Quality: TCanvasQuality read;
    property SavingStateCount: Integer read;
    property Stroke: TStrokeBrush read;
    property Width: Integer read;
  end;




Only for V.I.P
Warning! You are not allowed to view this text.