1

我想我曾经读到过,可以将笔设置为在路径“内部”而不是外部绘制。我不希望我的道路被扩大。具体来说,我想在我的路径周围画一个边框,并且边框不应该超出路径。

不幸的是,这扩大了我的道路:

    Dim nPen As New Pen(Brushes.Black, 15)
    g.DrawPath(nPen, nPath)

如果有人明白我想做什么,我会很高兴得到答复!非常感谢你。

4

1 回答 1

1

您正在寻找Pen.Alignment property. 它可以具有以下值(source):

  • 居中:指定 Pen 对象位于理论线的中心。
  • Inset:指定 Pen 位于理论线的内侧。
  • 起点:指定笔位于理论线的外侧。
  • 左:指定笔位于理论线的左侧。
  • 右:指定笔位于理论线的右侧。

你需要这个Inset值。

代码示例。你可以像这样使用它:

Using nPen As New Pen(Brushes.Black, 15) With {.Alignment = Drawing2D.PenAlignment.Inset}
    g.DrawPath(nPen, nPath)
End Using

(请注意,我正在使用using语句来确保正在处理对象。)

于 2013-02-01T16:23:13.030 回答