function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): Boolean;
| PageX, PageY | Double. 변환할 PDF 사용자 공간 좌표입니다(원점은 왼쪽 아래, 단위는 포인트) |
| Left, Top, Width, Height | Integer. 대응하는 RenderPage 호출에 넘겼던 렌더링 사각형입니다 |
| Rotation | TRotation. 렌더링 때 쓴 페이지 회전입니다. RenderPage에 넘긴 값과 일치해야 합니다 |
| X, Y | Integer. 변환된 디바이스 공간 픽셀 좌표를 받는 출력 파라미터입니다(원점은 왼쪽 위) |
True, 실패하면 False를 반환합니다(예: page가 로드되지 않은 경우)PDF 사용자 공간(포인트)의 점을 디바이스 공간(화면 픽셀)으로 변환합니다. 알고 있는 PDF 좌표 위치가 렌더링된 이미지의 어디에 떨어지는지 알아낼 때 — 예컨대 주석 오버레이나 하이라이트 사각형을 배치할 때 — 이 메서드를 사용하세요
PDF 사용자 공간의 원점은 페이지 왼쪽 아래이고 Y축은 위를 향합니다. 디바이스 공간의 원점은 렌더링 사각형 왼쪽 위이며 Y축은 아래를 향합니다
Left, Top, Width, Height, Rotation 파라미터는 매핑 대상 이미지를 만든 RenderPage 호출에 넘긴 값과 정확히 일치해야 합니다
// 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;