PDFium Delphi Component Docs

PageToDevice Метод

Компонент: TPdf  ·  Модуль: PDFium
Преобразует координату точки на странице в экранную координату

Syntax

function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;

PageX, PageYDouble. Пользовательские координаты PDF для преобразования (начало внизу слева, единицы — пункты)
Left, Top, Width, HeightInteger. Прямоугольник отрисовки, который передавался в соответствующий вызов RenderPage
RotationTRotation. Поворот страницы, использованный при отрисовке. Должен совпадать со значением, переданным в RenderPage
X, YInteger. Выходные параметры, принимающие преобразованные пиксельные координаты в пространстве устройства (начало в левом верхнем углу)

Return Value

Возвращает True, если преобразование удалось, или False, если оно не удалось (например, если страница не загружена)

Description

Преобразует точку из пользовательского пространства PDF (пункты) в пространство устройства (экранные пиксели). Метод определяет, где известная позиция в координатах PDF ложится на отрендеренное изображение — например, чтобы разместить оверлей аннотации или подсвечивающий прямоугольник

В пользовательском пространстве PDF начало в левом нижнем углу страницы, ось Y направлена вверх. В пространстве устройства начало в левом верхнем углу прямоугольника отрисовки, ось Y направлена вниз

Параметры Left, Top, Width, Height и Rotation должны в точности совпадать с тем, что передавалось в вызов RenderPage, породивший картинку, на которую выполняется отображение

Example

// 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;

See Also

DeviceToPage, RenderPage, PageWidth, PageHeight