我正在嘗試使用GraphicsPath繪製「文件夾」,如圖像。GraphicsPath AddLine創建意外路徑
我的函數來創建的路徑是:
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中的一個錯誤嗎?
我誤讀了。我以爲你是在傾斜/斜面的外觀之後。如果我使用你的代碼,我會得到方形標籤。我看不出這將如何創造斜角 – Plutonix
不要修復它,看起來不錯。 –
嘗試通過繪製最後一行而不是p.CloseFigure()它可能不會按照您期望的方式關閉它。 –