PDFium Delphi Component Docs

Метод DeviceToPage

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

Синтаксис

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

X, YInteger. Координатите в пространството на устройството на точката за преобразуване (екранни пиксели, начало в горния ляв ъгъл).
Left, Top, Width, HeightInteger. Правоъгълникът за рендериране, който е бил подаден на съответното извикване на RenderPage.
RotationTRotation. Завъртането на страницата, използвано при рендериране. Трябва да съвпада със стойността, подадена на RenderPage.
PageX, PageYDouble. Изходни параметри, които получават преобразуваните координати на потребителското пространство на 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;

Виж също

PageToDevice, RenderPage, PageWidth, PageHeight