我有一个 WinForms 应用程序,我必须在控件之间画一些线。这些行需要持久化,所以我覆盖了表单OnPaint()
事件。
问题是,重新绘制的线条不是很流畅。
我正在按如下方式创建图形:
Graphics g;
g = this.CreateGraphics();
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.FillRectangle(Brushes.White, this.ClientRectangle);
并绘制如下线条:
public void lineDraw(Control L1, Control L2) {
using (Pen pen = new Pen(Color.Black, 4)) {
pen.StartCap = System.Drawing.Drawing2D.LineCap.Flat;
pen.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
int x1, x2, y1, y2;
//choose x/y coordinates
g.DrawLine(pen, x1, y1, x2, y2);
}
}
我可以设置任何属性来提高绘制图形的平滑度吗?