PDFium Delphi Component Docs

DeviceToPage metod

Component: TPdf  ·  Unit: PDFium
Konverterar skärmkoordinaten för en punkt till sidkoordinat

Syntax

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

X, YInteger. Koordinaterna i enhetsutrymmet för punkten som ska konverteras (skärmpixlar, origo i det övre vänstra hörnet)
Left, Top, Width, HeightInteger. Renderingsrektangeln som skickades till motsvarande anrop av RenderPage
RotationTRotation. Sidrotationen som användes vid renderingen. Måste överensstämma med värdet som skickades till RenderPage
PageX, PageYDouble. Utmatningsparametrar som tar emot de konverterade koordinaterna i PDF-användarutrymmet (origo i nedre vänstra hörnet, enheten är punkter)

Return Value

Returnerar True om konverteringen lyckades, eller False om den misslyckades (till exempel om ingen sida är inläst)

Description

Konverterar en punkt från enhetsutrymmet (skärmpixlar) till PDF-användarutrymmet (punkter). Använd metoden för att översätta en musklicksposition på en renderad sida tillbaka till motsvarande position på PDF-sidan

PDF-användarutrymmet har sitt origo i sidans nedre vänstra hörn, med Y-axeln riktad uppåt. Enhetsutrymmet har sitt origo i renderingsrektangelns övre vänstra hörn, med Y-axeln riktad nedåt

Parametrarna Left, Top, Width, Height och Rotation måste exakt överensstämma med det som skickades till det RenderPage-anrop som producerade bilden som klickas på

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