function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. The PDF user-space coordinates to convert (origin at lower-left, units in points). |
| Left, Top, Width, Height | Integer. The rendering rectangle that was passed to the corresponding RenderPage call. |
| Rotation | TRotation. Obrót strony użyty podczas renderowania. Musi odpowiadać wartości przekazanej do RenderPage |
| X, Y | Integer. Output parameters that receive the converted device-space pixel coordinates (origin at top-left). |
True if the conversion succeeded, or False if it failed (for example, if no page is loaded).Przekształca punkt z przestrzeni użytkownika PDF (punktów) do przestrzeni urządzenia (pikseli ekranu). Użyj tej metody, aby ustalić, gdzie znana pozycja w współrzędnych PDF wypada na wyrenderowanym obrazie — na przykład do umieszczenia nakładki adnotacji albo prostokąta podświetlenia
Przestrzeń użytkownika PDF ma początek w lewym dolnym rogu strony, a oś Y rośnie w górę. Przestrzeń urządzenia ma początek w lewym górnym rogu prostokąta renderowania, a oś Y rośnie w dół
Parametry Left, Top, Width, Height i Rotation muszą dokładnie odpowiadać wartościom przekazanym do wywołania RenderPage, które utworzyło mapowany obraz
// 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;