C# Windows基础拾遗01—线条绘制篇
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# Windows基础拾遗01—线条绘制篇相关推荐
- 01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS)
01.Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS) 硕士学电磁场去了,写点博客记录下学习过程. 参考的教程是B站的视频:allegro软件入门视频教程全 ...
- AI作曲基础-Python编程作曲软件篇-FoxDot文档及源码分析-官方教程01
AI作曲基础-Python编程作曲软件篇-FoxDot文档及源码分析-官方教程01 前言 本系列系列目录放在文尾: 本系列是AI作曲的基础,暂时和AI关系不大,但尤为重要: 借助FoxDot,从文档分 ...
- ansible笔记2--ansible windows基础
ansible笔记2--ansible windows基础 1 介绍 2 环境配置 2.1 Windows 环境配置 2.2 linux 环境配置 3 常见用法 4 注意事项 5 说明 1 介绍 An ...
- 基础,算法,编程的1000+篇文章总结
基础,算法,编程的1000+篇文章总结 本文收集和总结了有关基础,算法,编程的1000+篇文章,由于篇幅有限只能总结近期的内容,想了解更多内容可以访问:http://www.ai2news.com/, ...
- 基础练习 01字串(取位操作)
基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 ...
- 基础拾遗------泛型详解
基础拾遗: 前言: 1.泛型的约束 2.泛型继承 3.关键字default 4.泛型方法 5.泛型接口 6.泛型数组 7.泛型委托 基础拾遗: 基础拾遗------特性详解 基础拾遗------ ...
- 电脑基础知识精选(硬件篇)
电脑基础知识精选(硬件篇) 电脑基础知识 一.处理器 CPU 二.内存 RAM 三 .硬盘 Disk 四.显卡 GPU 五.主板 Motherboard 六.电源和显示器 七.选配电脑常见问答 八.如 ...
- (转载)【笨木头Lua专栏】基础补充01:巧说table的几种构造方式
[笨木头Lua专栏]基础补充01:巧说table的几种构造方式 笨木头 2013-06-4 23:04 Cocos2d-x Lua 阅读(13,556) 13条评论 之前对于Lua的研究 ...
- 【AI Studio】飞桨图像分类零基础训练营 - 01 - 图像处理基本概念
前言:这里是图像分类的第一课笔记,如题,第一节可主要讲述了图像处理的操作,也就是数据集处理.根据之前学过的知识理解,训练集往往是有限的,为了扩大训练集,总会人为的制造数据.这时数据处理就体现了.而且实 ...
最新文章
- Qt Creator在设计模式下编辑3D资产
- Struts2学习笔记(一)--入门常见配置
- Linux下的图形库curses写贪吃蛇,酷
- FLEX XMLLIST 详解
- 《Java安全编码标准》一导读
- nginx服务器部署dist文件夹
- input数字开头不能为0_Python新手上车5:数字和注释
- JAVA笔记12__字节、字符缓冲流/打印流/对象流/
- c++中#pragma用法详解
- 拓端tecdat|【视频】R语言中的隐马尔可夫HMM模型实例
- 网线制作ppt_制作网线图解ppt课件
- 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323...
- 拉卡拉服务器响应超时,拉卡拉传统POS机11个常见问题及解决方法
- google是否还能孤独求败,百度 VS google
- 【图像超分辨率重建】——SwinIR论文精读笔记
- 网线连接网络有黄色感叹号
- vue---父组件实时取到子元素的v-model
- 英伟达Tesla T4 显卡编解码能力测试
- linux 中 read 的用法
- 我的世界mod整合包java_我的世界1.10.2mod大全+整合包+合集