function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Координатите в пространството на устройството на точката за преобразуване (екранни пиксели, начало в горния ляв ъгъл). |
| Left, Top, Width, Height | Integer. Правоъгълникът за рендериране, който е бил подаден на съответното извикване на RenderPage. |
| Rotation | TRotation. Завъртането на страницата, използвано при рендериране. Трябва да съвпада със стойността, подадена на RenderPage. |
| PageX, PageY | Double. Изходни параметри, които получават преобразуваните координати на потребителското пространство на PDF (начало в долния ляв ъгъл, единици в точки). |
True, ако преобразуването е успешно, или False, ако е неуспешно (например, ако няма заредена страница)Преобразува точка от пространството на устройството (екранни пиксели) в потребителското пространство на PDF (точки). Използвайте този метод, за да преведете позиция на клик с мишката върху рендирана страница обратно към съответната позиция на PDF страницата.
Потребителското пространство на PDF има началото си в долния ляв ъгъл на страницата, с оста Y, сочеща нагоре. Пространството на устройството има началото си в горния ляв ъгъл на правоъгълника за рендериране, с оста Y, сочеща надолу.
Параметрите Left, Top, Width, Height и Rotation трябва да съвпадат точно с това, което е било подадено на извикването на RenderPage, което е произвело изображението, върху което се кликва.
// 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;