我正在使用PDFsharp在PDF中绘制形状。遗憾的是,我找不到任何关于用定制图案填充形状的信息,在这种情况下是45度条纹。
条纹
我想,没有工具可以做到这一点。我怎样才能达到同样的效果?
可能的解决方案可能是手动裁剪绘制的线或使用非PDFsharp的库,但我现在只是猜测。
为形状创建一个路径。然后用你需要的图案填充一个围绕形状的矩形。
请参阅图形示例中的"剪切路径":
http://www.pdfsharp.net/wiki/Graphics-sample.ashx#Clip_through_path_16
示例使用文本作为形状,但路径可以是您可以绘制的任何内容。
XGraphicsPath path = new XGraphicsPath();
path.AddString("Clip!", new XFontFamily("Verdana"), XFontStyle.Bold, 90,
new XRect(0, 0, 250, 140), XStringFormats.Center);
gfx.IntersectClip(path);
// Draw a beam of dotted lines
XPen pen = XPens.DarkRed.Clone();
pen.DashStyle = XDashStyle.Dot;
for (double r = 0; r <= 90; r += 0.5)
gfx.DrawLine(pen, 0, 0,
250 * Math.Cos(r / 90 * Math.PI), 250 * Math.Sin(r / 90 Math.PI));