PDFium Delphi Component Docs

PageToDevice Metod

Component: TPdf  ·  Unit: PDFium
Konverterar sidkoordinaten för en punkt till skärmkoordinat

Syntax

function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;

PageX, PageYDouble. Koordinaterna i PDF-användarutrymmet som ska konverteras (origo i nedre vänstra hörnet, enheten är punkter)
Left, Top, Width, HeightInteger. Renderingsrektangeln som skickades till motsvarande anrop av RenderPage
RotationTRotation. Sidrotationen som användes vid renderingen. Måste överensstämma med värdet som skickades till RenderPage
X, YInteger. Utmatningsparametrar som tar emot de konverterade pixekoordinaterna i enhetsutrymmet (origo i det övre vänstra hörnet)

Return Value

Returnerar True om konverteringen lyckades, eller False om den misslyckades (till exempel om ingen sida är inläst)

Description

Konverterar en punkt från PDF-användarutrymmet (punkter) till enhetsutrymmet (skärmpixlar). Använd metoden för att avgöra var en känd position i PDF-koordinater hamnar på den renderade bilden — till exempel för att placera ut ett anteckningslager eller en markeringsrektangel

PDF-användarutrymmet har sitt origo i sidans nedre vänstra hörn, med Y-axeln riktad uppåt. Enhetsutrymmet har sitt origo i renderingsrektangelns övre vänstra hörn, med Y-axeln riktad nedåt

Parametrarna Left, Top, Width, Height och Rotation måste exakt överensstämma med det som skickades till det anrop av RenderPage som producerade bilden som mappas mot

Example

// Draw a marker on screen at a known PDF position
var
  ScreenX, ScreenY: Integer;
begin
  if Pdf.PageToDevice(100.0, 200.0, 0, 0,
    PdfPanel.Width, PdfPanel.Height, ro0, ScreenX, ScreenY) then
  begin
    Canvas.Pen.Color := clRed;
    Canvas.Ellipse(ScreenX - 4, ScreenY - 4, ScreenX + 4, ScreenY + 4);
  end;
end;

See Also

DeviceToPage, RenderPage, PageWidth, PageHeight