0
我正在处理某个应用程序中的某些绘图时遇到了一些问题。每当我画出一条锐利的角落时,我的线条越过了它应该结束的点,线条越宽。图形中尖锐角处的无限角
我一直没能找到任何帮助。图纸是图形路径,主要是多边形和馅饼。我仔细检查了我的数学,这是正确的。我的代码如下。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim g As Graphics = CreateGraphics()
g.SmoothingMode = SmoothingMode.AntiAlias
Dim pens As Pen = New Pen(Color.Black, 1)
Dim pen As Pen = New Pen(Color.Red, 1)
g.DrawLine(pens, 350, 0, 350, 800)
g.DrawPie(pen, 100, 0, 500, 500, 0, 90)
g.DrawPie(pen, 100, 300, 500, 500, 0, 10)
pen = New Pen(Color.Red, 2)
g.DrawLine(pens, 700, 0, 700, 800)
g.DrawPie(pen, 450, 0, 500, 500, 0, 90)
g.DrawPie(pen, 450, 300, 500, 500, 0, 10)
End Sub
笔沿着路径的外部而不是内部绘制。要么通过重新定义你的路径来补偿它,要么忽略它。 –
您还有多个GDI资源泄漏。当你完成它们时,你需要在'Graphics'和'Pen'对象上调用'Dispose()'。 –
此外,如果窗体被最小化或者其他窗体在窗体前面通过,您在Button Click事件中执行的任何绘图都将丢失。 'CreateGraphics'应该几乎不会被使用。 –