【问题标题】:How to fill a shape with the pattern when generating PDF?生成PDF时如何用图案填充形状?
【发布时间】:2019-04-02 04:29:43
【问题描述】:

我正在使用 PDFsharp 在 PDF 中绘制形状。遗憾的是,我找不到任何关于使用自定义图案填充形状的信息,在这种情况下是 45 度条纹。

Stripes

我认为,没有可用的工具可以做到这一点。我怎样才能达到同样的效果?

可能的解决方案可能是裁剪手动绘制的线条或使用不是 PDFsharp 的库,但我现在只是猜测。

【问题讨论】:

    标签: c# pdf-generation pdfsharp


    【解决方案1】:

    为形状创建路径。然后用你需要的图案填充一个围绕形状的矩形。

    请参阅图形示例中的“剪辑路径”:
    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));
    

    【讨论】:

      猜你喜欢
      • 2015-04-05
      • 2014-11-10
      • 2013-07-08
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      相关资源
      最近更新 更多