function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. Die umzurechnenden PDF-Benutzerkoordinaten (Ursprung unten links, Einheiten in Punkten) |
| Left, Top, Width, Height | Integer. Das Rendering-Rechteck, das dem entsprechenden RenderPage-Aufruf übergeben wurde |
| Rotation | TRotation. Die beim Rendern verwendete Seitendrehung. Muss mit dem an RenderPage übergebenen Wert übereinstimmen |
| X, Y | Integer. Ausgabeparameter, die die umgerechneten Pixelkoordinaten im Geräteraum aufnehmen (Ursprung oben links) |
True zurück, wenn die Umrechnung erfolgreich war, oder False, wenn sie fehlgeschlagen ist (etwa wenn keine Seite geladen ist)Rechnet einen Punkt vom PDF-Benutzerraum (Punkte) in den Geräteraum (Bildschirmpixel) um. Verwenden Sie diese Methode, um zu bestimmen, wo eine bekannte PDF-Koordinatenposition auf dem gerenderten Bild liegt — etwa um eine Anmerkungsüberlagerung oder ein Hervorhebungsrechteck zu positionieren
Der PDF-Benutzerraum hat seinen Ursprung an der unteren linken Ecke der Seite, wobei die Y-Achse nach oben zeigt. Der Geräteraum hat seinen Ursprung an der oberen linken Ecke des Render-Rechtecks, wobei die Y-Achse nach unten zeigt
Die Parameter Left, Top, Width, Height und Rotation müssen exakt dem entsprechen, was an den RenderPage-Aufruf übergeben wurde, der das abzubildende Bild erzeugt hat
// 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;