• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
C# Windows基础拾遗01—线条绘制篇

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


 

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

image

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

image

其中,

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

2. 贝赛尔曲线

image

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

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

image

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

image

 

3. 弧形

image

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

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

  image

 

相关文章:

 

C#基础拾遗02-XML串行化
 
C#基础拾遗03-注册表保存用户设置

 

作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

posted on 2011-05-18 16:27  敬YES  阅读(2761)  评论(7)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3