function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. De apparaatcoördinaten van het om te rekenen punt (schermpixels, oorsprong linksboven) |
| 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 |
| PageX, PageY | Double. Uitgangswaarden die de omgerekende coördinaten in de PDF-gebruikersruimte ontvangen (oorsprong linksonder, eenheid in punten) |
True terug als de omzetting is geslaagd, of False als deze is mislukt, bijvoorbeeld wanneer er geen pagina is geladenZet een punt uit de apparaatruimte (schermpixels) om naar de PDF-gebruikersruimte (punten). Gebruik deze methode om een aangeklikte muispositie op een weergegeven pagina terug te rekenen naar de overeenkomende positie op de PDF-pagina
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 aangeklikte afbeelding heeft opgeleverd
// Zet een muisklik op de getekende pagina om naar PDF-coördinaten
procedure TForm1.PdfPanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
PageX, PageY: Double;
begin
if Pdf.DeviceToPage(X, Y, 0, 0, PdfPanel.Width, PdfPanel.Height,
ro0, PageX, PageY) then
StatusBar1.SimpleText := Format('Page pos: %.1f, %.1f pt', [PageX, PageY]);
end;