PDFium Component Docs

DeviceToPage Methode

Component: TPdf  ·  Unit: PDFium
Zet de schermcoördinaat van een punt om naar een paginacoördinaat

Syntax

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

X, YInteger. De apparaatcoördinaten van het om te rekenen punt (schermpixels, oorsprong linksboven)
Left, Top, Width, HeightInteger. De weergaverechthoek die aan de bijbehorende RenderPage-aanroep is doorgegeven
RotationTRotation. De paginarotatie waarmee is weergegeven. Moet gelijk zijn aan de waarde die aan RenderPage is doorgegeven
PageX, PageYDouble. Uitgangswaarden die de omgerekende coördinaten in de PDF-gebruikersruimte ontvangen (oorsprong linksonder, eenheid in punten)

Return Value

Geeft True terug als de omzetting is geslaagd, of False als deze is mislukt, bijvoorbeeld wanneer er geen pagina is geladen

Description

Zet een punt uit de apparaatruimte (schermpixels) om naar de PDF-gebruikersruimte (punten). Gebruik deze methode om een aangeklikte muispositie op een weergegeven pagina terug te rekenen naar de overeenkomende positie op de PDF-pagina

De PDF-gebruikersruimte heeft zijn oorsprong in de linkerbenedenhoek van de pagina, met de Y-as omhoog. De apparaatruimte heeft zijn oorsprong in de linkerbovenhoek van de weergaverechthoek, met de Y-as omlaag

De parameters Left, Top, Width, Height en Rotation moeten exact overeenkomen met wat is doorgegeven aan de RenderPage-aanroep die de aangeklikte afbeelding heeft opgeleverd

Example

// Zet een muisklik op de getekende pagina om naar PDF-coördinaten
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