function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Les coordonnées d’espace périphérique du point à convertir (pixels d’écran, origine en haut à gauche) |
| Left, Top, Width, Height | Integer. Le rectangle de rendu qui a été passé à l’appel RenderPage correspondant |
| Rotation | TRotation. La rotation de page utilisée lors du rendu. Doit correspondre à la valeur passée à RenderPage |
| PageX, PageY | Double. Paramètres de sortie qui reçoivent les coordonnées d’espace utilisateur PDF converties (origine en bas à gauche, unités en points) |
True si la conversion a réussi, ou False si elle a échoué (par exemple, si aucune page n’est chargée)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
// 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;