PDFium Component Docs

Метод DeviceToPage

Component: TPdf  ·  Unit: PDFium
Преобразува екранната координата на точка в координата на страницата

Syntax

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 (начало в долния ляв ъгъл, единици в точки).

Return Value

Връща True, ако преобразуването е успешно, или False, ако е неуспешно (например, ако няма заредена страница)

Description

Преобразува точка от пространството на устройството (екранни пиксели) в потребителското пространство на PDF (точки). Използвайте този метод, за да преведете позиция на клик с мишката върху рендирана страница обратно към съответната позиция на PDF страницата.

Потребителското пространство на PDF има началото си в долния ляв ъгъл на страницата, с оста Y, сочеща нагоре. Пространството на устройството има началото си в горния ляв ъгъл на правоъгълника за рендериране, с оста Y, сочеща надолу.

Параметрите Left, Top, Width, Height и Rotation трябва да съвпадат точно с това, което е било подадено на извикването на RenderPage, което е произвело изображението, върху което се кликва.

Example

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

See Also

PageToDevice, RenderPage, PageWidth, PageHeight