function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. Die zu konvertierenden PDF-Benutzerraumkoordinaten (Ursprung links unten, Einheiten in Punkten) |
| Left, Top, Width, Height | Integer. Das Renderechteck, das an den entsprechenden RenderPage-Aufruf übergeben wurde |
| Rotation | TRotation. Die beim Rendern verwendete Seitendrehung Muss dem an RenderPage übergebenen Wert entsprechen |
| X, Y | Integer. Ausgabewerte, die die konvertierten Gerätepixelkoordinaten erhalten (Ursprung links oben) |
True zurück, wenn die Umwandlung erfolgreich war, andernfalls False zum Beispiel, wenn keine Seite geladen istWandelt einen Punkt aus dem PDF-Benutzerraum (Punkte) in den Gerätebereich (Bildschirmpixel) um Verwenden Sie diese Methode, um zu bestimmen, wo eine bekannte PDF-Koordinate auf dem gerenderten Bild landet — zum Beispiel, um ein Annotations-Overlay oder ein Hervorhebungsrechteck zu positionieren
Der PDF-Benutzerraum hat seinen Ursprung in der linken unteren Ecke der Seite, wobei die Y-Achse nach oben zeigt Der Gerätebereich hat seinen Ursprung in der linken oberen Ecke des Renderechtecks, wobei die Y-Achse nach unten zeigt
Die Parameter Left, Top, Width, Height und Rotation müssen exakt den Werten entsprechen, die an den RenderPage-Aufruf übergeben wurden, der das Bild erzeugt hat, auf das abgebildet wird
// Eine Markierung an einer bekannten PDF-Position auf dem Bildschirm zeichnen
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;