PDFium Component Docs

ObjectBounds Eigenschap

Component: TPdf  ·  Unit: PDFium
Strakke as-uitgelijnde bounding rectangle van één page object op de huidige pagina, uitgedrukt in PDF user-space coordinates nadat elke CTM en per-object matrix is toegepast

Syntax

property ObjectBounds[Index: Integer]: TPdfRectangle; // read only

Description

De PDF content stream van een pagina is een reeks page objects: tekstruns, vectorpaden, rasterafbeeldingen, shading patterns en ingebedde form XObjects (PDF 32000-1 § 8.2). ObjectBounds geeft de bounding box van objectnummer Index op de huidige pagina terug nadat PDFium de CTM-stack en de eigen cm-matrix van het object heeft afgevlakt, zodat de rechthoek direct bruikbaar is voor hit-testing, maskers of thumbnail-crops zonder extra rekenwerk

De rechthoek volgt de standaard PDF-coördinaatconventie — oorsprong in de linkerbenedenhoek van de pagina, eenheid 1/72 inch, Y omhoog groeiend — zodat Bottom < Top in een goed gevormd document. Het omwikkelt FPDFPageObj_GetBounds van PDFium; de aanroep is op zich O(1) maar itereert intern over elke contourvertex bij paden, dus het resultaat cachen is verstandig als u het vaak per object leest

Het geldige bereik is 0 .. ObjectCount - 1 voor de pagina die momenteel via PageNumber is geselecteerd. Een index buiten bereik levert een nulrechthoek op. Gebruik deze eigenschap samen met ObjectType om op objectsoort te dispatchen voordat u aanvullende typespecifieke eigenschappen leest

Parameters

IndexZero-based paginaobjectindex, 0 ≤ Index < ObjectCount

Remarks

Example

// Markeer elk afbeeldingsobject op de huidige pagina
var I: Integer;
var R: TPdfRectangle;
begin
  for I := 0 to Pdf1.ObjectCount - 1 do
  if Pdf1.ObjectType[I] = otImage then
  begin
    R := Pdf1.ObjectBounds[I];
    Memo1.Lines.Add(Format('image %d: %.1f,%.1f - %.1f,%.1f (%.1fx%.1f pt)',
      [I, R.Left, R.Bottom, R.Right, R.Top,
       R.Right - R.Left, R.Top - R.Bottom]));
  end;
end;

See Also

ObjectCount, ObjectType, ObjectHandle, ObjectTransparent, PageNumber