C# 循环绘制二次贝塞尔曲线
时间: 2023-06-27 22:02:55 浏览: 131
在 C# 中绘制二次贝塞尔曲线可以使用 Graphics 类的 DrawBezier 方法,该方法需要四个点作为参数:起始点、控制点和终止点。下面是一个循环绘制二次贝塞尔曲线的示例代码:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : Form
{
public Form1()
{
this.Size = new Size(400, 400);
this.Paint += new PaintEventHandler(Form1_Paint);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Black, 2);
// 定义起始点和终止点
Point startPoint = new Point(50, 200);
Point endPoint = new Point(350, 200);
// 循环绘制二次贝塞尔曲线
for (int i = 0; i <= 10; i++)
{
// 定义控制点
Point controlPoint = new Point(startPoint.X + (endPoint.X - startPoint.X) * i / 10,
startPoint.Y - (i % 2 == 0 ? 50 : -50));
// 绘制曲线
g.DrawBezier(pen, startPoint, controlPoint, controlPoint, endPoint);
}
}
static void Main()
{
Application.Run(new Form1());
}
}
```
在上面的代码中,我们定义了起始点和终止点,然后使用一个 for 循环来计算每个控制点的位置,最后调用 DrawBezier 方法绘制曲线。控制点的位置通过计算起始点和终止点之间的距离来确定,而且每个控制点的 y 坐标会交替增加和减少,以产生波浪形的效果。你可以根据需要来调整控制点的位置和数量,以得到不同的曲线形状。
阅读全文