1

我正在尝试使用 GraphicsPath 绘制类似图像的“文件夹”。

我创建路径的功能如下:

Public Function FolderRect(ByRef r As Rectangle) As System.Drawing.Drawing2D.GraphicsPath

    Dim p As New System.Drawing.Drawing2D.GraphicsPath

    Dim iTabWidth As Integer = 30
    Dim iTabHeight As Integer = 12

    With p
        Call p.AddLine(r.Left, r.Top, r.Left + iTabWidth, r.Top)
        Call p.AddLine(r.Left + iTabWidth, r.Top, r.Left + iTabWidth, r.Top + iTabHeight)
        Call p.AddLine(r.Left + iTabWidth, r.Top + iTabHeight, r.Right, r.Top + iTabHeight)
        Call p.AddLine(r.Right, r.Top + iTabHeight, r.Right, r.Bottom)
        Call p.AddLine(r.Right, r.Bottom, r.Left, r.Bottom)
        Call p.AddLine(r.Left, r.Bottom, r.Left, r.Top)

        Call p.CloseFigure()
    End With

    Return p

End Function

代码在我看来是正确的,但结果不是我所期望的:

在此处输入图像描述

(我使用图像编辑器创建了“正确”版本)。

这可能是 GraphicsPath 中的错误吗?

这是 PathPoints 的样子: 在此处输入图像描述

这就是“r”的样子: 在此处输入图像描述

4

1 回答 1

0

图形路径几乎可以肯定是正确的。您可以通过查看图形路径的 PathPoints 属性来验证这一点。

绘制图形路径时可能存在一些舍入错误。尝试使路径与目标位图大小相同。

于 2016-01-28T22:34:44.973 回答