PDFium Delphi Component Docs

PageToDevice 메서드

컴포넌트: TPdf  ·  유닛: PDFium
point의 page coordinate를 screen coordinate로 변환합니다

Syntax

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

PageX, PageYDouble. 변환할 PDF 사용자 공간 좌표입니다(원점은 왼쪽 아래, 단위는 포인트)
Left, Top, Width, HeightInteger. 대응하는 RenderPage 호출에 넘겼던 렌더링 사각형입니다
RotationTRotation. 렌더링 때 쓴 페이지 회전입니다. RenderPage에 넘긴 값과 일치해야 합니다
X, YInteger. 변환된 디바이스 공간 픽셀 좌표를 받는 출력 파라미터입니다(원점은 왼쪽 위)

Return Value

변환이 성공하면 True, 실패하면 False를 반환합니다(예: page가 로드되지 않은 경우)

Description

PDF 사용자 공간(포인트)의 점을 디바이스 공간(화면 픽셀)으로 변환합니다. 알고 있는 PDF 좌표 위치가 렌더링된 이미지의 어디에 떨어지는지 알아낼 때 — 예컨대 주석 오버레이나 하이라이트 사각형을 배치할 때 — 이 메서드를 사용하세요

PDF 사용자 공간의 원점은 페이지 왼쪽 아래이고 Y축은 위를 향합니다. 디바이스 공간의 원점은 렌더링 사각형 왼쪽 위이며 Y축은 아래를 향합니다

Left, Top, Width, Height, Rotation 파라미터는 매핑 대상 이미지를 만든 RenderPage 호출에 넘긴 값과 정확히 일치해야 합니다

Example

// 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;

See Also

DeviceToPage, RenderPage, PageWidth, PageHeight