function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. Le coordinate user-space PDF da convertire (origine in basso a sinistra, unità in punti) |
| Left, Top, Width, Height | Integer. Il rettangolo di rendering passato alla corrispondente chiamata RenderPage |
| Rotation | TRotation. La rotazione di pagina usata in fase di rendering. Deve corrispondere al valore passato a RenderPage |
| X, Y | Integer. Parametri di output che ricevono le coordinate convertite in pixel device-space (origine in alto a sinistra) |
True se la conversione riesce, oppure False se fallisce, per esempio se non è caricata alcuna paginaConverte un punto dallo spazio utente PDF (punti) allo spazio del dispositivo (pixel dello schermo). Usa questo metodo per determinare dove cade una posizione nota in coordinate PDF sull'immagine renderizzata — ad esempio, per posizionare una sovrapposizione di annotazione o un rettangolo di evidenziazione
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 esegue la mappatura
// Draw a marker on screen at a known PDF position
var
ScreenX, ScreenY: Integer;
begin
if Pdf.PageToDevice(100.0, 200.0, 0, 0,
PdfPanel.Width, PdfPanel.Height, ro0, ScreenX, ScreenY) then
begin
Canvas.Pen.Color := clRed;
Canvas.Ellipse(ScreenX - 4, ScreenY - 4, ScreenX + 4, ScreenY + 4);
end;
end;