function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. De om te rekenen coördinaten in de PDF-gebruikersruimte (oorsprong linksonder, eenheid in punten) |
| Left, Top, Width, Height | Integer. De weergaverechthoek die aan de bijbehorende RenderPage-aanroep is doorgegeven |
| Rotation | TRotation. De paginarotatie waarmee is weergegeven. Moet gelijk zijn aan de waarde die aan RenderPage is doorgegeven |
| X, Y | Integer. Uitgangswaarden die de omgerekende apparaatpixels ontvangen (oorsprong linksboven) |
True terug als de omzetting is geslaagd, of False als deze is mislukt, bijvoorbeeld wanneer er geen pagina is geladenZet een punt uit de PDF-gebruikersruimte (punten) om naar de apparaatruimte (schermpixels). Gebruik deze methode om te bepalen waar een bekende PDF-coördinaat op de weergegeven afbeelding terechtkomt — bijvoorbeeld om een annotatie-overlay of markeerrechthoek te positioneren
De PDF-gebruikersruimte heeft zijn oorsprong in de linkerbenedenhoek van de pagina, met de Y-as omhoog. De apparaatruimte heeft zijn oorsprong in de linkerbovenhoek van de weergaverechthoek, met de Y-as omlaag
De parameters Left, Top, Width, Height en Rotation moeten exact overeenkomen met wat is doorgegeven aan de RenderPage-aanroep die de afbeelding waarop wordt gemapt heeft opgeleverd
// Teken een markering op het scherm op een bekende PDF-positie
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;