PDFium Delphi Component Docs

LinkZOrderAtPoint الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
يجري اختبار إصابة لإحداثي في فضاء الصفحة مقابل تعليقات الروابط الأصلية ويعيد ترتيب z للرابط الذي يغطي تلك النقطة

الصياغة

function LinkZOrderAtPoint(X, Y: Double): Integer;

X, YDouble. نقطة بوحدات صفحة PDF، والأصل في الركن السفلي الأيسر من الصفحة
ResultInteger. ترتيب z للرابط الذي يغطي النقطة كما يُبلِّغ اختبار الإصابة الأصلي، أو -1 عندما لا يغطيها أي رابط

الوصف

ندّ LinkAtPoint: بدل جواب نعم/لا بسيط، يعيد اختبار الإصابة الأصلي (FPDFLink_GetLinkZOrderAtPoint) ترتيب z للرابط الموجود عند الإحداثي. وعندما تتداخل روابط عدة يحدد ترتيب z أيّها ينبغي للعارض أن يتعامل معها عند ذلك الموضع

يجري الاختبار داخل PDFium، فهو يراعي هندسة النقاط الرباعية الفعلية لتعليقات الروابط بدلًا من الصناديق المحيطة التي يكشفها LinkAnnotation، فالرابط الذي يلتف مع نص مكسور يُطابق على شكله الحقيقي

نتيجة -1 تعني أن النقطة لا تقع على أي رابط. ويتطلب الاستدعاء أن تكون الصفحة الحالية نشطة. حوّل موضع الفأرة إلى وحدات الصفحة عبر DeviceToPage أولًا

ملاحظات

مثال

var PX, PY: Double;
begin
  if Pdf1.DeviceToPage(MouseX, MouseY, 0, 0, W, H, ro0, PX, PY) then
  begin
    Memo1.Lines.Add('Link z-order: ' + IntToStr(Pdf1.LinkZOrderAtPoint(PX, PY)));
    // -1 means the point is not covered by any link
  end;
end;

انظر أيضًا

LinkAtPoint, LinkAnnotation, LinkAnnotationCount, FormFieldZOrderAtPoint, DeviceToPage