PDFium Delphi Component Docs

DeviceToPage Méthode

Composant: TPdf  ·  Unit: PDFium
Convertit la coordonnée d’écran d’un point en coordonnée de page

Syntax

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

X, YInteger. Les coordonnées d’espace périphérique du point à convertir (pixels d’écran, origine en haut à gauche)
Left, Top, Width, HeightInteger. Le rectangle de rendu qui a été passé à l’appel RenderPage correspondant
RotationTRotation. La rotation de page utilisée lors du rendu. Doit correspondre à la valeur passée à RenderPage
PageX, PageYDouble. Paramètres de sortie qui reçoivent les coordonnées d’espace utilisateur PDF converties (origine en bas à gauche, unités en points)

Return Value

Renvoie True si la conversion a réussi, ou False si elle a échoué (par exemple, si aucune page n’est chargée)

Description

Convertit un point de l’espace appareil (pixels écran) vers l’espace utilisateur PDF (points). Utilisez cette méthode pour traduire la position d’un clic de souris sur une page rendue vers la position correspondante sur la page PDF

L’espace utilisateur PDF a son origine au coin inférieur gauche de la page, avec l’axe Y orienté vers le haut. L’espace dispositif a son origine au coin supérieur gauche du rectangle de rendu, avec l’axe Y orienté vers le bas

Les paramètres Left, Top, Width, Height et Rotation doivent correspondre exactement à ce qui a été passé à l’appel RenderPage qui a produit l’image cliquée

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