PDFium Delphi Component Docs

DeviceToPage الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
تحويل إحداثي شاشة نقطة إلى إحداثي صفحة.

الصياغة

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 المحوَّلة (الأصل عند أسفل اليسار، الوحدات بالنقاط).

قيمة الإرجاع

يعيد True إذا نجح التحويل، أو False إذا فشل (مثلًا، إذا لم تُحمَّل أي صفحة).

الوصف

يحوِّل نقطة من فضاء الجهاز (بكسل الشاشة) إلى فضاء مستخدم PDF (نقاط). استخدم هذه الطريقة لترجمة موضع نقرة فأرة على صفحة مُصيَّرة مرة أخرى إلى الموضع المقابل على صفحة PDF.

لفضاء مستخدم PDF أصله عند ركن أسفل يسار الصفحة، مع اتجاه المحور Y لأعلى. ولفضاء الجهاز أصله عند ركن أعلى يسار مستطيل التصيير، مع اتجاه المحور Y لأسفل.

يجب أن تطابق المعاملات Left و Top و Width و Height و Rotation تمامًا ما مُرِّر إلى استدعاء RenderPage الذي أنتج الصورة التي يُنقر عليها.

مثال

// Translate a mouse click on the painted page to PDF coordinates
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;

انظر أيضًا

PageToDevice, RenderPage, PageWidth, PageHeight