问题描述
我想用位图填充一个形状,换句话说,用一个形状遮蔽一个位图。我找不到直接的例子。我正在使用 iText 7 和 C#。
解决方法
您可以用位图填充形状,方法是使该形状成为剪辑路径并添加位图,例如像这样:
using (PdfWriter writer = new PdfWriter(...))
using (PdfDocument pdfDoc = new PdfDocument(writer))
{
ImageData data = ImageDataFactory.Create(...);
PdfCanvas pdfCanvas = new PdfCanvas(pdfDoc.AddNewPage());
pdfCanvas.SaveState()
.MoveTo(100,100)
.LineTo(300,200)
.LineTo(400,400)
.LineTo(200,300)
.ClosePath()
.EoClip()
.EndPath();
pdfCanvas.AddImageAt(data,100,false);
pdfCanvas.RestoreState();
}
(AddImageWithMask 测试 testAddImageInShape
)
结果如下: