THPDFViewer Coordinate Transforms
在 PDF 页面空间与渲染后的 Viewer 位图之间双向转换点坐标
点类型
THPDFViewerPoint= record X: Single; Y: Single; end;声明
function PagePointToView(PageIndex: Integer; const PagePoint: THPDFViewerPoint; out ViewPoint: THPDFViewerPoint; DPI: Integer= 150): boolean; function ViewPointToPage(PageIndex: Integer; const ViewPoint: THPDFViewerPoint; out PagePoint: THPDFViewerPoint; DPI: Integer= 150): boolean;坐标空间
- PDF 页面坐标使用页面 MediaBox,原点在左下
- 查看器坐标使用渲染像素,原点在左上
- PDF 页面的
/Rotate值先于ViewRotation - DPI 低于 1 时按 1 处理;更高的值保持精确,使变换覆盖查看器的完整缩放范围
- 页面状态无效时返回
False并清空输出点
往返换算
if Model.PagePointToView(0, PagePoint, ViewPoint, 144) then Model.ViewPointToPage(0, ViewPoint, RestoredPoint, 144);