PDFium Component Docs

DeviceToPage Metoda

Component: TPdf  ·  Unit: PDFium
Konwertuje współrzędne ekranowe punktu na współrzędne strony

Syntax

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

X, YInteger. Współrzędne punktu do konwersji w przestrzeni urządzenia (piksele ekranu, początek układu w lewym górnym rogu)
Left, Top, Width, HeightInteger. Prostokąt renderowania, który został przekazany do odpowiedniego wywołania RenderPage
RotationTRotation. Obrót strony użyty przy renderowaniu. Musi odpowiadać wartości przekazanej do RenderPage
PageX, PageYDouble. Parametry wyjściowe, które otrzymują przekonwertowane współrzędne przestrzeni użytkownika PDF (początek układu w lewym dolnym rogu, jednostki w punktach)

Return Value

Zwraca True, jeśli konwersja się powiodła, albo False, jeśli się nie powiodła (na przykład gdy nie jest wczytana żadna strona)

Description

Konwertuje punkt z przestrzeni urządzenia (piksele ekranu) do przestrzeni użytkownika PDF (punkty). Użyj tej metody, aby przełożyć pozycję kliknięcia myszy na wyrenderowanej stronie z powrotem na odpowiadającą pozycję na stronie PDF

Przestrzeń użytkownika PDF ma początek układu w lewym dolnym rogu strony, a oś Y wskazuje w górę. Przestrzeń urządzenia ma początek układu w lewym górnym rogu prostokąta renderowania, a oś Y wskazuje w dół

Parametry Left, Top, Width, Height i Rotation muszą dokładnie odpowiadać temu, co przekazano do wywołania RenderPage, które wytworzyło klikany obraz

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