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


 

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

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

其中,

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

2. 贝赛尔曲线

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

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

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

3. 弧形

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

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

相关文章:

C#基础拾遗02-XML串行化
 

C#基础拾遗03-注册表保存用户设置
    本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/archive/2011/05/18/2050224.html,如需转载请自行联系原作者

C# Windows基础拾遗01—线条绘制篇相关推荐

  1. 01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS)

    01.Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS) 硕士学电磁场去了,写点博客记录下学习过程. 参考的教程是B站的视频:allegro软件入门视频教程全 ...

  2. AI作曲基础-Python编程作曲软件篇-FoxDot文档及源码分析-官方教程01

    AI作曲基础-Python编程作曲软件篇-FoxDot文档及源码分析-官方教程01 前言 本系列系列目录放在文尾: 本系列是AI作曲的基础,暂时和AI关系不大,但尤为重要: 借助FoxDot,从文档分 ...

  3. ansible笔记2--ansible windows基础

    ansible笔记2--ansible windows基础 1 介绍 2 环境配置 2.1 Windows 环境配置 2.2 linux 环境配置 3 常见用法 4 注意事项 5 说明 1 介绍 An ...

  4. 基础,算法,编程的1000+篇文章总结

    基础,算法,编程的1000+篇文章总结 本文收集和总结了有关基础,算法,编程的1000+篇文章,由于篇幅有限只能总结近期的内容,想了解更多内容可以访问:http://www.ai2news.com/, ...

  5. 基础练习 01字串(取位操作)

    基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 ...

  6. 基础拾遗------泛型详解

     基础拾遗: 前言: 1.泛型的约束 2.泛型继承 3.关键字default 4.泛型方法 5.泛型接口 6.泛型数组 7.泛型委托 基础拾遗: 基础拾遗------特性详解 基础拾遗------ ...

  7. 电脑基础知识精选(硬件篇)

    电脑基础知识精选(硬件篇) 电脑基础知识 一.处理器 CPU 二.内存 RAM 三 .硬盘 Disk 四.显卡 GPU 五.主板 Motherboard 六.电源和显示器 七.选配电脑常见问答 八.如 ...

  8. (转载)【笨木头Lua专栏】基础补充01:巧说table的几种构造方式

    [笨木头Lua专栏]基础补充01:巧说table的几种构造方式 笨木头  2013-06-4 23:04   Cocos2d-x Lua   阅读(13,556)   13条评论 之前对于Lua的研究 ...

  9. 【AI Studio】飞桨图像分类零基础训练营 - 01 - 图像处理基本概念

    前言:这里是图像分类的第一课笔记,如题,第一节可主要讲述了图像处理的操作,也就是数据集处理.根据之前学过的知识理解,训练集往往是有限的,为了扩大训练集,总会人为的制造数据.这时数据处理就体现了.而且实 ...

最新文章

  1. Qt Creator在设计模式下编辑3D资产
  2. Struts2学习笔记(一)--入门常见配置
  3. Linux下的图形库curses写贪吃蛇,酷
  4. FLEX XMLLIST 详解
  5. 《Java安全编码标准》一导读
  6. nginx服务器部署dist文件夹
  7. input数字开头不能为0_Python新手上车5:数字和注释
  8. JAVA笔记12__字节、字符缓冲流/打印流/对象流/
  9. c++中#pragma用法详解
  10. 拓端tecdat|【视频】R语言中的隐马尔可夫HMM模型实例
  11. 网线制作ppt_制作网线图解ppt课件
  12. 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323...
  13. 拉卡拉服务器响应超时,拉卡拉传统POS机11个常见问题及解决方法
  14. google是否还能孤独求败,百度 VS google
  15. 【图像超分辨率重建】——SwinIR论文精读笔记
  16. 网线连接网络有黄色感叹号
  17. vue---父组件实时取到子元素的v-model
  18. 英伟达Tesla T4 显卡编解码能力测试
  19. linux 中 read 的用法
  20. 我的世界mod整合包java_我的世界1.10.2mod大全+整合包+合集

热门文章

  1. malloc、calloc、realloc的区别
  2. Linux下修改Mysql数据库存放路径
  3. Ruby中爬虫的实现
  4. RMAN干掉热备份#OCP试验1#
  5. SUSE10中Oracle10g存储中文数据
  6. java thumbnailator 做图片处理
  7. 解决Hbase启动报错问题:No such file or directory!
  8. Linux新增开放端口
  9. 打开WORD2016提示 您正在试图打开带有宏的 。。。。 解决办法
  10. java 动态数组的应用