function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): Boolean;
| X, Y | Integer. مختصات فضای دستگاه نقطه برای تبدیل (پیکسل صفحه، مبدأ در بالا-چپ) |
| Left, Top, Width, Height | Integer. مستطیل رندری که به فراخوانی متناظر RenderPage داده شد |
| Rotation | TRotation. چرخش صفحه هنگام رندر؛ باید با مقدار دادهشده به RenderPage مطابق باشد |
| PageX, PageY | Double. پارامترهای خروجی که مختصات فضای کاربر PDF تبدیلشده را دریافت میکنند (مبدأ در پایین-چپ، واحد پوینت) |
True if the conversion succeeded, or False if it failed (for example, if no page is loaded).نقطه را از فضای دستگاه (پیکسل صفحه) به فضای کاربر PDF (پوینت) تبدیل میکند؛ از این متد برای برگرداندن موقعیت کلیک ماوس روی صفحهٔ رندرشده به موقعیت متناظر در صفحهٔ PDF استفاده کنید
فضای کاربر PDF مبدأش در گوشهٔ پایین-چپ صفحه است و محور Y رو به بالا؛ فضای دستگاه مبدأش در گوشهٔ بالا-چپ مستطیل رندر است و محور Y رو به پایین
پارامترهای Left، Top، Width، Height و Rotation باید دقیقاً با آنچه به فراخوانی RenderPage که تصویر کلیکشده را تولید کرد داده شده مطابق باشند
// کلیک ماوس روی صفحهٔ نقاشیشده را به مختصات 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;