PDFium Delphi Component Docs

PageToDevice メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
点のページ座標をスクリーン座標に変換します

構文

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。変換されたデバイス空間のピクセル座標 (原点は左上) を受け取る出力パラメータ

戻り値

変換に成功した場合は True を、失敗した場合 (ページが読み込まれていない場合など) は False を返します

説明

点を 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;

関連項目

DeviceToPage, RenderPage, PageWidth, PageHeight