PDFium Delphi Component Docs

เมธอด TransformPageObjectClipPath

Component: TPdf  ·  Unit: PDFium
ใช้เมทริกซ์ transform กับ clip path ของ page object หนึ่งรายการโดยไม่ย้ายตัว object เอง

Syntax

procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX);

IndexInteger ลำดับแบบ zero-based ของ page object ในช่วง 0 .. ObjectCount - 1
MatrixFS_MATRIX transform แบบ affine (a, b, c, d, e, f) ที่ถูกคูณต่อเข้ากับเรขาคณิต clip path เดิม

Description

ขณะที่ TransformPageObject ย้าย ย่อขยาย หรือหมุน object คำสั่งนี้จะ transform เฉพาะ clip path ของ object ผ่าน entry point ระดับ native FPDFPageObj_TransformClipPath ตัว object ยังคงเมทริกซ์ของมันเอง แต่บริเวณที่ถูก clip อยู่ถูกปรับรูปใหม่ ใช้เมื่อต้องขยายหน้าต่าง clipping หลังขยาย object หรือจัดตำแหน่ง clip ใหม่เมื่อไม่ตรงกับเนื้อหาแล้ว

เมทริกซ์จะถูกคูณต่อเข้ากับเรขาคณิต clip path ปัจจุบัน ไม่ใช่แทนที่ การเรียกซ้ำจึงสะสมผล ควรตรวจ clip ปัจจุบันก่อนด้วย PageObjectClipPath

cache ข้อความของหน้าถูก unload ก่อนเปลี่ยนแปลง และหน้าถูก regenerate ใหม่หลังจากนั้น (UpdatePage) lookup ที่ขึ้นกับเรขาคณิตจึงเห็นค่าใหม่ คำสั่งนี้ต้องการให้หน้าปัจจุบัน active และจะ raise EPdfError (Page object clip path transforms are not available) เมื่อ build ของ PDFium ที่โหลดอยู่ไม่มี export ของ entry point ระดับ native

Remarks

Example

var
  M: FS_MATRIX;
begin
  // widen the clip region of object 4 to twice its size, same origin
  FillChar(M, SizeOf(M), 0);
  M.a := 2;
  M.d := 2;
  Pdf1.TransformPageObjectClipPath(4, M);
end;

See Also

TransformPageObject, PageObjectClipPath, InsertClipPath, UpdatePageObject