【发布时间】:2019-04-02 04:29:43
【问题描述】:
我正在使用 PDFsharp 在 PDF 中绘制形状。遗憾的是,我找不到任何关于使用自定义图案填充形状的信息,在这种情况下是 45 度条纹。
我认为,没有可用的工具可以做到这一点。我怎样才能达到同样的效果?
可能的解决方案可能是裁剪手动绘制的线条或使用不是 PDFsharp 的库,但我现在只是猜测。
【问题讨论】:
标签: c# pdf-generation pdfsharp
我正在使用 PDFsharp 在 PDF 中绘制形状。遗憾的是,我找不到任何关于使用自定义图案填充形状的信息,在这种情况下是 45 度条纹。
我认为,没有可用的工具可以做到这一点。我怎样才能达到同样的效果?
可能的解决方案可能是裁剪手动绘制的线条或使用不是 PDFsharp 的库,但我现在只是猜测。
【问题讨论】:
标签: c# pdf-generation 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));
【讨论】: