0
我正在編寫一個繪畫程序。畫線寬度與橢圓寬度
當用戶畫一條線時,我使用這段代碼,它按預期工作。
_Pen = New Drawing.Pen(_Color, _sngThickness)
_Pen.StartCap = Drawing2D.LineCap.Round
_Pen.EndCap = Drawing2D.LineCap.Round
Using g As Graphics = Graphics.FromImage(_bmp)
modControls.GraphicsSetSmoothingMode(g)
g.DrawLine(_Pen, _Last.LastX, _Last.LastY, X, Y)
End Using
但是,當用戶繪製一個點而不是一條線時,DrawLine不起作用。 因此我使用DrawEllipse。
但是,繪製的橢圓的寬度/高度似乎不可預測,我只是無法確定正確的公式。 單點寬度/高度看起來像是線寬的80%。
這是我使用的是什麼
Using g As Graphics = Graphics.FromImage(_bmp)
modControls.GraphicsSetSmoothingMode(g)
Dim nRect As New Rectangle(X - (_sngThickness/8), Y - (_sngThickness/8), _sngThickness/4, _sngThickness/4)
g.DrawEllipse(_Pen, nRect)
End Using
有誰似乎是我做錯了嗎?
此外,我的橢圓不填充,但我想這是另一個問題。
'g.FillEllipse(...' – LarsTech
@LarsTech已經解決了所有的奇怪的問題,你可以讓你的評論的答案? – tmighty
我只評論了「這是另一個問題」,我不確定如何解決你的維度問題。 – LarsTech