画图养成日记(二)

原创 2016年05月31日 16:13:04

UIBezierPath: UIBezierPath是在 UIKit 中的一个类,继承于NSObject,可以创建基于矢量的路径.此类是Core Graphics框架关于path的一个OC封装。使用此类可以定义常见的圆形、多边形等形状 。我们使用直线、弧(arc)来创建复杂的曲线形状。每一个直线段或者曲线段的结束的地方是下一个的开始的地方。每一个连接的直线或者曲线段的集合成为subpath。一个UIBezierPath对象定义一个完整的路径包括一个或者多个subpaths。

* 首先它是OC语言的,相对于c语言的Core Graphics来说更为平易近人。 

* 其次它能够使用ARC,如果我们直接使用CGPathRef的话,还要自己负责在合适的时候释放。
CAShapeLayer: CAShapeLayer顾名思义,继承于CALayer。 每个CAShapeLayer对象都代表着将要被渲染到屏幕上的一个任意的形状(shape)。具体的形状由其path(类型为CGPathRef)属性指定。 普通的CALayer是矩形,所以需要frame属性。CAShapeLayer初始化时也需要指定frame值,但 它本身没有形状,它的形状来源于其属性path 。CAShapeLayer有不同于CALayer的属性,它从CALayer继承而来的属性在绘制时是不起作用的。



UIBezierPath使用步骤

* 创建path * 添加路径到path * 将path绘制出来

//画一条线

UIBezierPath * path = [UIBezierPathbezierPath];//创建Path

[path moveToPoint:CGPointMake(100,100)];//指定开始点

[path addLineToPoint:CGPointMake(200,100)];

[path stroke];//绘制path

    

//画一个圆

UIBezierPath * path1 = [UIBezierPathbezierPath];//创建path

[path1 addArcWithCenter:self.centerradius:100.0startAngle:0.0endAngle:180.0clockwise:YES];

[[UIColorblueColor]setStroke];

[[UIColorredColor]setFill];

[path1 stroke];//绘制path

[path1 fill];


CAShapeLayer使用

CAShapeLayer * circleLayer = [CAShapeLayer new];

circleLayer.frame = CGRectMake(0, 0, 160, 200) ;

circleLayer.lineWidth = 10;

circleLayer.strokeColor = [UIColor blueColor].CGColor;

circleLayer.fillColor = [UIColor grayColor].CGColor;

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 160, 160) cornerRadius:80];

circleLayer.path = path.CGPath;

[self.view.layer addSublayer:circleLayer];




画图养成日记

ContextRef --参考上下文 UIGraphics --用户图形界面 --画线方法1 CGContextRef ctx = UIGraphicsGetCurrentContext();...
  • fly52035
  • fly52035
  • 2016年05月31日 15:42
  • 140

怎样成为一名优秀的项目经理-文章集锦(1)项目经理成长日记

文 / 董轶(网摘) 作者以某教育网系统建设项目为背景,分享自己真实的实战经验与心得,对项目经理的成长有很好的指导意义。 唐僧师徒赴西天取经,不畏艰险,锲而不舍,历经八十一难最终修成正果。这是一段...
  • jpr1990
  • jpr1990
  • 2011年09月02日 14:36
  • 2447

2.[Unity3D游戏开发]【宠物养成项目】 代码结构

代码结构参照 “tinymals”
  • u012063402
  • u012063402
  • 2015年04月10日 11:30
  • 1140

1.[Unity3D游戏开发]【宠物养成项目】 项目基础

公司最近要求出一款以宠物养成为基础,  具体Im系统的社交宠物游戏,  并且可以再即将发售的iWatch上面做通知推送, 也就是想在watch上面占有一定的基础和用户量。 游戏共分为两大模块 ...
  • u012063402
  • u012063402
  • 2015年04月09日 20:36
  • 1363

每日一记,养成记录的习惯

每个事物都有她在时间维度上的轨迹,当我们在适当的节点上留下一些痕迹,时间的轨迹就变得有形。养成作些记录的习惯,是有必要而且非常有意义的。         记录的方式有很多,几乎有日历功能的地方就有记...
  • triplestudio
  • triplestudio
  • 2015年12月20日 22:04
  • 1286

ERP新手养成日记

------------------------------------------- 自己手动开始整理的时候,忽然发现没什么好写的? 大概是我还不大会?! ERP 中译“企业资源计划” 主要应用于两...
  • mmzm002
  • mmzm002
  • 2017年06月23日 15:50
  • 197

2018年2月5日训练日记

昨天除了上午做了三道网络流裸题之外就啥也没干。。。于是没写训练日记。。。 今天其实也只是做了几道题而已。感觉对网络流有一定程度的理解了,但是理解的还不够深入。比较简单的题目还是能够完全独立快速的做出...
  • LSD20164388
  • LSD20164388
  • 2018年02月05日 21:20
  • 106

SQL新手养成日记

基本的数据库 databases 软件名称 management studio 数据的查询 编辑 添加 ER图  dbo.EDM table和table之间有关系 叫做关系型数据库管理系...
  • mmzm002
  • mmzm002
  • 2017年06月26日 23:14
  • 67

PCB新手养成日记

电气工程师 新手养成日记 06212017 网站上面没有标注单位一般都是MM 养成一个习惯:以后拿到元件的原理图之后尽量不要想当然的自己画一个,而是要根据厂家给的参考手册。 布线顺序 芯片线--电源线...
  • mmzm002
  • mmzm002
  • 2017年06月21日 08:29
  • 135

大魔王养成日记

不想碌碌无为?来这里随便挑一个都可以研究上一阵子了
  • qyvlik
  • qyvlik
  • 2015年05月01日 17:23
  • 1060
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:画图养成日记(二)
举报原因:
原因补充:

(最多只允许输入30个字)