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