版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绘制常见图形北京电子科技职业学院平面几何图形1平面几何图形平面几何图形:有些几何图形(如线段、角、三角形、长方形、圆等)的各个部分都在同一平面内,它们是平面图形。如直线、射线、角、三角形、平行四边形、长方形(正方形)、梯形和圆都是几何图形,这些图形所表示的各个部分都在同一平面内,称为平面图形。平面图形的大小,叫做它们的面积。点的形成是线,线的形成是面,面的形成是体,如图所示。例如:有一组对边平行的四边形一定是平面图形。平面几何图形在本项目中,我们主要采用UIKit绘图方式来实现各种绘图操作,主要是通过UIBezierPath这个类来实现的,创建基本的平面几何图形,如线段、正方形、圆、圆弧、长方形、多边形和贝塞尔曲线等,也可以根据自己的设计和计算,画出一些特别的平面图形,如五角星等。2图形绘制类型图形绘制类型UIKit绘图方式实际是对CoreGraphics方式的一种简化封装,可以采用面向对象的方式很方便的做各种绘图操作,主要是通过UIBezierPath这个类来实现的,创建基于矢量的路径,例如各种直线、曲线、圆等等。基类Shape对于所有的图形来讲,我们可以设计一个基本类,其名称就是Shape,主要建立所有图形类所共有的基本的属性和方法,当然也包括构造器。代码详见文档
指定构造器(DesignatedInitializers),对所有没有默认值的非可选属性进行初始化。
便利构造器(ConvenienceInitializers),是在init前加一个关键字convenience,它为
一些属性提供默认值。这样,在初始化时就无需给所有属性赋值。便利构造器通常要调用类自身的便利构造器或者指定构造器,不管是哪种,最终都要调用指定构造器。图形绘制类型2.线段类Line我们都已经学会平面几何图形基本知识,线段是通过链接两个点来形成的。线段类Line派生字Shape类。Swift已经提供了基本的画线函数path.move(to:CGPoint)和path.addLine(to:CGPoint),一个是用于移动,一个是从当前点开始画,到结束点为止。代码详见文档3.矩形类Rectangle
矩形一般可以通过确定左上角的坐标位置以及矩形的宽和高,就可以正确的画出来,正方形就是特殊的矩形,其宽和高相等。或者,知道这个矩形的中心坐标以及矩形的宽和高,通过计算,也可以很方便的画出这个矩形。
在本例中,我们采用UIKit中的UIBezierPath(rect:CGRect)方法来实现矩形的绘制,也可以采用前面画线段的方法来绘制矩形。代码详见文档图形绘制类型
在实际编程中,我们还需要画具有圆角的矩形,那就需要采用UIKit中的UIBezierPath(roundedRect:CGRect,cornerRadius:CGFloat)方法来实现矩形的绘制,这样,需要修改这个矩形类。代码详见文档
这样在调用的时候如下:letmyRect=Rectangle(origin:start,size:CGSize(width:150,height:100),corner:8.0)
则会生成一个带圆角的矩形。如果调用方法如下:letmyRect=Rectangle(origin:start,size:CGSize(width:150,height:100))
则会生成一个不带圆角的普通矩形,因为在类的便利构造器中,corner默认数是0,也就是相当于圆角为0。图形绘制类型4.圆形类Circle
圆形一般可以通过确定圆所在的中心坐标位置以及半径,就可以正确的画出来,圆形也可以看作是宽和高相等椭圆。或者,知道这个椭圆所外接的矩形,也可以很方便的画出这个矩形。
在本例中,我们采用UIKit中的UIBezierPath(ovalIn:CGRect)方法来实现椭圆或者圆的绘制。
具体是绘制正圆还是椭圆可以直接通过width与height来控制,两者相等绘制出来就是正圆,否则就是椭圆。代码详见文档5.多边形类Polygons
多边形的绘制主要依赖move(to:CGPoint)与addLine(to:CGPoint)这两个方法,通过不同的组合画出不同的图形。多个点链接起来就是建立一个多边形,特殊的,三个点组成一个三角形。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西昌学院《工笔人物》2023-2024学年第一学期期末试卷
- 西北大学《激光原理》2023-2024学年第一学期期末试卷
- HJ 2052-2016 钢铁工业烧结机脱硫工程技术规范 湿式石灰石膏法
- 毕业设计(论文)税务管理信息系统设计
- 《海尔企业文化》课件
- 中国防护眼罩行业市场竞争态势及发展前景研判报告
- 辽宁省2022-2023学年高三上学期数学期末联考试卷
- 【化学】第三单元课题1 分子和原子第2课时课件-2024-2025学年九年级化学人教版(2024)上册
- 购销合同申请报告
- icu护士调科申请书
- 2024年化学检验员(中级工)技能鉴定考试题库(附答案)
- 旅行社分店加盟协议书(2篇)
- 勘察工作质量及保证措施
- 城镇燃气经营安全重大隐患判定及燃气安全管理专题培训
- 个人和企业间资金拆借合同
- 2024年除雪服务定制协议样本版
- 七年级地理上册 3.2海陆变迁说课稿 (新版)商务星球版
- 勿忘国耻 珍爱和平-9.18学生教育主题班会高中主题班会课件
- 地铁司机岗位招聘笔试题与参考答案
- 2024年电工(高级技师)考前必刷必练题库500题(含真题、必会题)
- 2024秋期国家开放大学专科《统计学原理》一平台在线形考(形成性考核一至三)试题及答案
评论
0/150
提交评论