PDFium Delphi Component Docs

DeviceToPage متد

کامپوننت: TPdf  ·  واحد: PDFium
مختصات صفحه‌ای یک نقطه را به مختصات صفحه تبدیل می‌کند

Syntax

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

X, YInteger. مختصات فضای دستگاه نقطه برای تبدیل (پیکسل صفحه، مبدأ در بالا-چپ)
Left, Top, Width, HeightInteger. مستطیل رندری که به فراخوانی متناظر RenderPage داده شد
RotationTRotation. چرخش صفحه هنگام رندر؛ باید با مقدار داده‌شده به RenderPage مطابق باشد
PageX, PageYDouble. پارامترهای خروجی که مختصات فضای کاربر PDF تبدیل‌شده را دریافت می‌کنند (مبدأ در پایین-چپ، واحد پوینت)

Return Value

Returns True if the conversion succeeded, or False if it failed (for example, if no page is loaded).

Description

نقطه را از فضای دستگاه (پیکسل صفحه) به فضای کاربر PDF (پوینت) تبدیل می‌کند؛ از این متد برای برگرداندن موقعیت کلیک ماوس روی صفحهٔ رندرشده به موقعیت متناظر در صفحهٔ PDF استفاده کنید

فضای کاربر PDF مبدأش در گوشهٔ پایین-چپ صفحه است و محور Y رو به بالا؛ فضای دستگاه مبدأش در گوشهٔ بالا-چپ مستطیل رندر است و محور Y رو به پایین

پارامترهای Left، Top، Width، Height و Rotation باید دقیقاً با آنچه به فراخوانی RenderPage که تصویر کلیک‌شده را تولید کرد داده شده مطابق باشند

Example

// کلیک ماوس روی صفحهٔ نقاشی‌شده را به مختصات PDF تبدیل کن
procedure TForm1.PdfPanelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  PageX, PageY: Double;
begin
  if Pdf.DeviceToPage(X, Y, 0, 0, PdfPanel.Width, PdfPanel.Height,
    ro0, PageX, PageY) then
    StatusBar1.SimpleText := Format('Page pos: %.1f, %.1f pt', [PageX, PageY]);
end;

See Also

PageToDevice, RenderPage, PageWidth, PageHeight