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, який створив зображення, на яке виконується відображення
// 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;