procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX);
| Index | Integer. اندیس صفر-مبنای شیء صفحه، در بازهٔ 0 .. ObjectCount - 1 |
| Matrix | FS_MATRIX. تبدیل آفین (a، b، c، d، e، f) که به هندسهٔ فعلی مسیر برش زنجیر میشود |
وقتی TransformPageObject یک شیء را جابهجا، بزرگنمایی یا چرخش میدهد، این فراخوان فقط مسیر برش شیء را از طریق نقطهٔ ورود نیتیو FPDFPageObj_TransformClipPath تبدیل میکند: شیء ماتریس خودش را نگه میدارد در حالی که ناحیهای که به آن برش خورده شکل تازهای میگیرد. از آن برای بزرگکردن پنجرهٔ برش پس از بزرگکردن یک شیء، یا جابهجایی برشی که دیگر با محتوایش نمیخواند استفاده کنید
ماتریس با هندسهٔ فعلی مسیر برش زنجیر میشود نه آنکه جایگزینش شود، بنابراین فراخوانیهای مکرر روی هم انباشته میشوند. پیش از آن، مسیر برش فعلی را با PageObjectClipPath بازرسی کنید
کش صفحهٔ متنی پیش از تغییر تخلیه و صفحه پس از آن بازتولید میشود (UpdatePage) تا جستوجوهای وابسته هندسهٔ جدید را بگیرند. این فراخوان فعال بودن صفحهٔ فعلی را لازم دارد و وقتی بیلد PDFium بارشده نقطهٔ ورود نیتیو را صادر نکند EPdfError برمیانگیزد (Page object clip path transforms are not available)
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;