C#开发教程--线条绘制篇

Windows绘制图形首先要定义DC(Device Context),在.NET中直接使用Graphics类。然后分配画图工具如画笔等,调用绘图函数进行绘制。要注意的是,画图后要记得释放Graphics以及画图工具等对象,因为图像对象占用很大的资源,不能等到.NET运行库最终自动释放。

 

1. 线条:直线刚性,曲线柔美

C#开发教程--线条绘制篇_第1张图片

首先新建Windows Form程序,要想在窗体加载时就绘出线条,那么只能重写OnPaint ()事件,在Form_Load中是行不通的。

C#开发教程--线条绘制篇_第2张图片

其中,

  • DrawLines()是用来绘制直线的;
  • DrawCurve()方法绘制光滑的齿条曲线,第三个参数表示曲线的张力,默认为0.5F,从例子中的绿线和蓝线可以看出:数值越高,张力越低。

2. 贝赛尔曲线

C#开发教程--线条绘制篇_第3张图片

贝赛尔曲线主要由4个点来控制的,两个端点确定起止位置,两个控制点来决定曲线的拉力,控制点离得越远,拉力越强。

.NET中使用DrawBezier()方法绘制贝塞尔曲线。这次demo我们在按钮事件中添加。

C#开发教程--线条绘制篇_第4张图片

另外我们可以绘制连续的贝赛尔曲线(如下图),调用的方法是DrawBeziers()。 记住:要绘制元素为n的曲线,需要提供3n+1个点才可以。

C#开发教程--线条绘制篇_第5张图片

3. 弧形

C#开发教程--线条绘制篇_第6张图片

椭圆和弧形的绘制一般是在矩形的基础上进行的。其中

  • DrawEllipse()方法用来绘制中空的椭圆.
  • DrawArc()则可以绘制部分圆弧。  具体弧的形状还要看StartAngle和SweepAngle两个参数。在上图中,红色圆弧起始角度为最右侧,然后沿顺时针方向旋转160度。

  C#开发教程--线条绘制篇_第7张图片

你可能感兴趣的:(C#开发教程--线条绘制篇)