ImageEn, unit iexPdfiumCore |
|
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.
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 );