ImageEn, unit iexPdfiumCore

TPdfObjectList.AddEllipse

TPdfObjectList.AddEllipse


Declaration

function AddEllipse(X, Y, Width, Height: Single; DoInsert: Boolean = False; InsertIndex: Integer = 0): TPdfObject; overload;
function AddEllipse(X, Y, Width, Height: Single;
                    LineColor: TColor; LineWidth: Single = 1.0; LineOpacity: Single = 1.0;
                    Filled: boolean = false; FillColor: TColor = clBlack; FillOpacity: Single = 1.0;
                    DoInsert: Boolean = False; InsertIndex: Integer = 0): TPdfObject; overload;


Description

Add an ellipse (made up of bezier curves) to the current page at the specified position (in terms of PDF points).
If DoInsert is enabled, the object will be inserted at the specified InsertIndex (i.e. its z-position is set, where 0 is the object closest to the page, and Count-1 is the front-most object).



Note: You must call ApplyChanges before saving to apply object changes to the document


PDF Page Points

Objects on a PDF page are specified in points that originate at the bottom-left, i.e. when X,Y = (0,0). The top-left of the page is specified by (PageWidth, PageHeight).
To convert PDF points to screen values, use PageToScr.



Examples

const
  Ellipse_Width   = 150;
  Ellipse_Height  = 100;
  Ellipse_Color   = clGreen;
  Ellipse_Border  = 3;
  Ellipse_Fill    = clYellow;
  Ellipse_Opacity = 255;
var
  obj: TPdfObject;
begin
  obj := ImageEnView1.PdfViewer.Objects.AddEllipse( 100, 800, Ellipse_Width, Ellipse_Height );

  obj.StrokeColor := TColor2TRGBA( Ellipse_Color, 255 );
  obj.PathStrokeWidth := Ellipse_Border;
  obj.FillColor := TColor2TRGBA( Ellipse_Fill, Ellipse_Opacity );
  obj.PathFillMode := pfAlternate; // Ensure path is filled
end;


// Insert a red ellipse at index 0, i.e. close to the background (below all other objects)
ImageEnView1.PdfViewer.Objects.AddEllipse( 100, 100, 200, 200, clNone, 0.0, 1.0, True, clRed, 1.0, True, 0 );