function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Le coordinate device-space del punto da convertire (pixel schermo, origine in alto a sinistra) |
| Left, Top, Width, Height | Integer. Il rettangolo di rendering passato alla chiamata RenderPage corrispondente |
| Rotation | TRotation. La rotazione della pagina usata durante il rendering. Deve corrispondere al valore passato a RenderPage |
| PageX, PageY | Double. Parametri di output che ricevono le coordinate user-space PDF convertite (origine in basso a sinistra, unità in punti) |
True se la conversione riesce, oppure False se fallisce per esempio se non è caricata alcuna paginaConverte un punto dallo spazio del dispositivo (pixel dello schermo) allo spazio utente PDF (punti). Usa questo metodo per riportare la posizione di un clic del mouse su una pagina renderizzata alla posizione corrispondente sulla pagina PDF.
Lo spazio utente PDF ha origine nell'angolo inferiore sinistro della pagina, con l'asse Y rivolto verso l'alto. Lo spazio del dispositivo ha origine nell'angolo superiore sinistro del rettangolo di rendering, con l'asse Y rivolto verso il basso.
I parametri Left, Top, Width, Height e Rotation devono corrispondere esattamente a quelli passati alla chiamata RenderPage che ha prodotto l'immagine su cui si fa clic.
// 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;