PDFium Delphi Component 文件

LinkZOrderAtPoint 方法

元件: TPdf  ·  單元: PDFium
對頁面空間座標與原生連結註解進行命中測試,並傳回涵蓋該點的連結之 z-order

Syntax

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

X, YDouble。以 PDF 頁面單位表示的點,原點位於頁面左下角
ResultInteger。原生命中測試所回報、涵蓋該點之連結的 z-order;沒有任何連結涵蓋時為 -1

Description

LinkAtPoint 的姊妹方法:原生命中測試(FPDFLink_GetLinkZOrderAtPoint)不給出單純的是/否答案,而是傳回在該座標找到的連結之 z-order。當多個連結重疊時,z-order 可指出檢視器在該位置應該作用於哪一個

測試在 PDFium 內部執行,因此遵循的是連結註解實際的四邊形點幾何,而不是 LinkAnnotation 公開的週邊框 — 沿著換行文字彎繞的連結會依其真實形狀比對

結果為 -1 表示該點不在任何連結上。呼叫前必須先讓目前頁面處於作用中狀態。請先用 DeviceToPage 把滑鼠位置轉換為頁面單位

Remarks

Example

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;

See Also

LinkAtPoint, LinkAnnotation, LinkAnnotationCount, FormFieldZOrderAtPoint, DeviceToPage