




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绘制常见图形北京电子科技职业学院平面几何图形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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 3158-2016内河水上服务区建设标准
- DB31/T 744-2022智能电网储能系统并网装置测试技术规范
- DB31/T 682-2013古树名木和古树后续资源养护技术规程
- DB31/T 666-2012免煅烧脱硫石膏基衍生产品(粉刷砂浆、石膏砌块和土壤固化剂)应用技术规程
- DB31/T 596-2021城市轨道交通合理通风技术管理要求
- DB31/T 1322-2021生鲜电商配送货服务规范
- DB31/T 1235-2020高层民用建筑消防安全管理要求
- DB31/T 1185-2019特种设备双重预防体系要求
- DB31/T 1048-2017上海品质评价通用要求
- DB31/T 1022-2016乘用车空气净化器净化性能测定方法
- 金融专业毕业论文范文
- 大模型在证券行业合规的应用
- 畜禽废弃物处理技术及其资源化利用途径的研究
- 生物质颗粒燃料检验
- 个体户法人变更转让协议书范本
- 2020-2025年中国果蔬保鲜行业投资潜力分析及行业发展趋势报告
- TSG21-2025固定式压力容器安全技术(送审稿)
- DB2107-T 0011-2023 多旋翼无人机道路巡查疏导作业规范
- 初中数学教学中渗透数学文化的实践研究
- 《历史渊源武夷岩茶》课件
- 农村电商运营与实践考核试卷
评论
0/150
提交评论