【发布时间】:2011-08-12 17:55:37
【问题描述】:
我想使用 Graphics.Lines() 方法绘制粗线。但看起来 API 有一些错误。如果您尝试使用以下代码呈现用户控件,您会得到看起来很奇怪的图像。我想知道是否有一些平滑模式或类似的东西可以解决这个画线故障。
private void UserControl1_Paint(object sender, PaintEventArgs e)
{
int n = 100;
Point[] points = new Point[n];
double x = 2;
int y = 50;
for (int i = 0; i < n; i++)
{
Point p = new Point();
p.X = 200 + (int)(i * x);
p.Y = 200 + (int)(Math.Sin(i * 0.2) * y);
points[i] = p;
}
Pen pen = new Pen(new SolidBrush(Color.Blue));
//Pen pen = new Pen(new LinearGradientBrush(new Point(0, 0), new Point(0, 100), Color.Black, Color.Red));
pen.Width = 200;
e.Graphics.DrawLines(pen, points);
}
【问题讨论】:
-
你能用截图澄清一下“奇怪”吗?
-
你为什么用200的宽度?
-
@Michael 正在做某事:制作
pen.Width = 1,我想你会得到你想要的。 -
感谢大家的快速回复。我特别希望我的应用程序支持不同的线宽。
标签: c# graphics system.drawing