Docs de PDFiumPas

DeviceToPage Método

Componente: TPdf  ·  Unidad: PDFium
Convierte la coordenada de pantalla de un punto a coordenada de página

Sintaxis

function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;

X, YInteger. Las coordenadas en espacio de dispositivo del punto que se va a convertir, en píxeles de pantalla con origen en la esquina superior izquierda
Left, Top, Width, HeightInteger. El rectángulo de renderizado que se pasó a la llamada correspondiente de RenderPage
RotationTRotation. La rotación de página usada al renderizar. Debe coincidir con el valor pasado a RenderPage
PageX, PageYDouble. Parámetros de salida que reciben las coordenadas convertidas del espacio de usuario PDF, con origen en la esquina inferior izquierda y unidades en puntos

Return Value

Devuelve True si la conversión tuvo éxito, o False si falló, por ejemplo, si no hay ninguna página cargada

Descripción

Convierte un punto del espacio de dispositivo, es decir, píxeles de pantalla, al espacio de usuario PDF, en puntos. Use este método para llevar la posición de un clic del mouse sobre una página renderizada 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 de RenderPage que generó la imagen sobre la que se hizo clic

Ejemplo

// Convierte un clic del mouse sobre la página renderizada 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;

Vea también

PageToDevice, RenderPage, PageWidth, PageHeight