function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. Koordinaterna i PDF-användarutrymmet som ska konverteras (origo i nedre vänstra hörnet, enheten är punkter) |
| Left, Top, Width, Height | Integer. Renderingsrektangeln som skickades till motsvarande anrop av RenderPage |
| Rotation | TRotation. Sidrotationen som användes vid renderingen. Måste överensstämma med värdet som skickades till RenderPage |
| X, Y | Integer. Utmatningsparametrar som tar emot de konverterade pixekoordinaterna i enhetsutrymmet (origo i det övre vänstra hörnet) |
True om konverteringen lyckades, eller False om den misslyckades (till exempel om ingen sida är inläst)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
// 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;