procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX);
| Index | Integer. Индекс на страничния обект от нула, в диапазона 0 .. ObjectCount - 1 |
| Matrix | FS_MATRIX. Афинна трансформация (a, b, c, d, e, f), конкатенирана върху съществуващата геометрия на clip path |
Докато TransformPageObject мести, мащабира или върти обект, това извикване трансформира само clip path на обекта чрез нативната входна точка FPDFPageObj_TransformClipPath: обектът запазва собствената си матрица, докато областта, до която е отрязан, се прерисува. Използвайте го, за да разширите прозореца за отрязване след уголемяване на обект, или да преместите clip, който вече не съответства на съдържанието си
Матрицата се конкатенира с текущата геометрия на clip path, а не я замества, така че повторните извиквания се натрупват. Прегледайте текущия clip първо с PageObjectClipPath
Кешът на текстовата страница се разтоварва преди промяната, а страницата се регенерира след нея (UpdatePage), така че зависимите справки взимат новата геометрия. Извикването изисква текущата страница да е активна и вдига EPdfError (Page object clip path transforms are not available), когато зареденият PDFium build не експортира нативната входна точка
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;