function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Enhetsrom-koordinatene til punktet som skal konverteres (skjermpiksler, origo øverst til venstre). |
| Left, Top, Width, Height | Integer. Renderingsrektangelet som ble sendt til det tilsvarende RenderPage-kallet. |
| Rotation | TRotation. Siderotasjonen som ble brukt ved rendering. Må samsvare med verdien sendt til RenderPage. |
| PageX, PageY | Double. Utdataparametere som mottar de konverterte PDF-brukerrom-koordinatene (origo nederst til venstre, enheter i punkter). |
True hvis konverteringen lyktes, eller False hvis den feilet (for eksempel hvis ingen side er lastet).Konverterer et punkt fra enhetsrom (skjermpiksler) til PDF-brukerrom (punkter). Bruk denne metoden for å oversette en museklikk-posisjon på en rendret side tilbake til den tilsvarende posisjonen på PDF-siden.
PDF-brukerrom har sitt origo i sidens nedre venstre hjørne, med Y-aksen pekende oppover. Enhetsrom har sitt origo i renderingsrektangelets øvre venstre hjørne, med Y-aksen pekende nedover.
Parameterne Left, Top, Width, Height og Rotation må samsvare nøyaktig med det som ble sendt til RenderPage-kallet som produserte bildet det klikkes på.
// Translate a mouse click on the painted page to PDF coordinates
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;