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