function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Współrzędne punktu do konwersji w przestrzeni urządzenia (piksele ekranu, początek układu w lewym górnym rogu) |
| Left, Top, Width, Height | Integer. Prostokąt renderowania, który został przekazany do odpowiedniego wywołania RenderPage |
| Rotation | TRotation. Obrót strony użyty przy renderowaniu. Musi odpowiadać wartości przekazanej do RenderPage |
| PageX, PageY | Double. Parametry wyjściowe, które otrzymują przekonwertowane współrzędne przestrzeni użytkownika PDF (początek układu w lewym dolnym rogu, jednostki w punktach) |
True, jeśli konwersja się powiodła, albo False, jeśli się nie powiodła (na przykład gdy nie jest wczytana żadna strona)Konwertuje punkt z przestrzeni urządzenia (piksele ekranu) do przestrzeni użytkownika PDF (punkty). Użyj tej metody, aby przełożyć pozycję kliknięcia myszy na wyrenderowanej stronie z powrotem na odpowiadającą pozycję na stronie PDF
Przestrzeń użytkownika PDF ma początek układu w lewym dolnym rogu strony, a oś Y wskazuje w górę. Przestrzeń urządzenia ma początek układu w lewym górnym rogu prostokąta renderowania, a oś Y wskazuje w dół
Parametry Left, Top, Width, Height i Rotation muszą dokładnie odpowiadać temu, co przekazano do wywołania RenderPage, które wytworzyło klikany obraz
// 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;