function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. Las coordenadas del espacio de dispositivo del punto a convertir (píxeles de pantalla, origen en la esquina superior izquierda). |
| Left, Top, Width, Height | Integer. El rectángulo de renderizado que se pasó a la llamada correspondiente a RenderPage. |
| Rotation | TRotation. La rotación de página usada al renderizar. Debe coincidir con el valor pasado a RenderPage. |
| PageX, PageY | Double. Parámetros de salida que reciben las coordenadas convertidas del espacio de usuario PDF (origen en la esquina inferior izquierda, unidades en puntos). |
True si la conversión se realizó correctamente, o False si falló (por ejemplo, si no hay ninguna página cargada).Convierte un punto del espacio de dispositivo (píxeles de pantalla) al espacio de usuario PDF (puntos). Use este método para traducir la posición de un clic del ratón sobre una página renderizada de vuelta a la posición correspondiente en la página PDF.
El espacio de usuario PDF tiene su origen en la esquina inferior izquierda de la página, con el eje Y apuntando hacia arriba. El espacio de dispositivo tiene su origen en la esquina superior izquierda del rectángulo de renderizado, con el eje Y apuntando hacia abajo.
Los parámetros Left, Top, Width, Height y Rotation deben coincidir exactamente con lo que se pasó a la llamada RenderPage que produjo la imagen sobre la que se hace clic.
// Convertir un clic del ratón en la página pintada a coordenadas PDF
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;