function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overload;
function DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): Boolean; overload;
function DeviceToPage(Rectangle: TRect): TPdfRectangle; overload;
view 안의 화면 pixel (X, Y)을 현재 page의 PDF user-space point로 변환합니다
point가 page rectangle 밖으로 벗어나면 False를 반환합니다. cursor를 PDF coordinates로 매핑하려면 OnMouseDown / OnMouseMove에서 사용하세요
TPdfView는 Zoom, Rotation, page padding, scroll offset을 기준으로 device-to-page transform을 내부에서 유지합니다. 이 helper는 그 transform에 대한 안전한 공개 interface입니다
PageNumber := 할당은 cached coordinates를 무효화합니다Rotation을 따르므로, 90° 회전된 page도 올바른 PDF rectangle에 매핑됩니다
procedure TForm1.PdfView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
PageX, PageY: Double;
begin
if PdfView1.DeviceToPage(X, Y, PageX, PageY) then
Caption := Format('pt = (%.2f, %.2f)', [PageX, PageY]);
end;