c#绘图技术

来源:互联网 发布:农村淘宝进驻地区查询 编辑:程序博客网 时间:2024/05/17 07:46

Graphics.DrawCurve 方法 (Pen, Point[], Single)

使用指定的张力绘制经过一组指定的 Point 结构的基数样条。

命名空间:  System.Drawing
程序集:  System.Drawing(在 System.Drawing.dll 中)

语法

C#

public void DrawCurve(Pen pen,Point[] points,float tension)

参数

pen
类型:System.Drawing.Pen
Pen,它确定曲线的颜色、宽度和样式。
points
类型:System.Drawing.Point[]
Point结构数组,这些结构定义样条。
tension
类型:System.Single
大于或等于 0.0F 的值,该值指定曲线的张力。

异常

异常条件ArgumentNullException

pennull

- 或 -

pointsnull

备注

此方法绘制经过数组中每个点的基数样条。

若要绘制曲线,指针数组至少必须包含三个 Point 结构。

tension 参数确定样条的形状。如果 tension 参数的值为 0.0F,则此方法绘制直线段以连接这些点。通常,tension 参数小于或等于 1.0F。超过 1.0F 的值会产生异常结果。

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse(这是Paint 事件处理程序的参数)。代码执行下列操作:

  • 创建红色钢笔和绿色钢笔。

  • 创建定义曲线的七个点。

  • 在七个点之间绘制六条红色直线以形成一个不完整的多边形。

  • 创建张力设置。

  • 绘制一条经过七个点的非闭合绿色曲线。

该方法使用张力 1.0。

C#
private void DrawCurvePointTension(PaintEventArgs e){    // Create pens.    Pen redPen = new Pen(Color.Red, 3);    Pen greenPen = new Pen(Color.Green, 3);    // Create points that define curve.    Point point1 = new Point(50, 50);    Point point2 = new Point(100, 25);    Point point3 = new Point(200, 5);    Point point4 = new Point(250, 50);    Point point5 = new Point(300, 100);    Point point6 = new Point(350, 200);    Point point7 = new Point(250, 250);    Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};    // Draw lines between original points to screen.    e.Graphics.DrawLines(redPen, curvePoints);    // Create tension.    float tension = 1.0F;    // Draw curve to screen.    e.Graphics.DrawCurve(greenPen, curvePoints, tension);}
0 0
原创粉丝点击