IOS 之 Quartz 2D 绘图(下)

由于最近一段时间比较忙,一直没有时间更新博客,今天总算是抽空为上次的 IOS 之 Quartz 2D 绘图(上)写一个“续集”。上次主要介绍了有关 Quartz2D 的图形上下文、drawRect方法、图形上下文栈等概念,并对画线段作了相关说明。本次将在上次博客的基础上,用 Quartz2D 画出更多种类的图形,并作相应分析。

1.画矩形
这里写图片描述
注意点:通过系统的AddRect方法所绘制出来的矩形的长和宽分别是和X轴和Y轴平行的,也就是说不能是斜着的的样式,而要使矩形斜着显示,要么旋转View,要么用上篇博客中用连接线段的方式)

2.画三角形
这里写图片描述
解析:画三角形的前两条边用连接线段的方式即可,最后一条边通过关闭路径的方法连接第一个和最后一个点。

3.画椭圆形
这里写图片描述
解析:当椭圆的长轴和短轴相等时即是圆形。

4.画弧形
这里写图片描述
解析

void CGContextAddArc (
   CGContextRef c,       //表示图形上下文
   CGFloat x,            //圆心X轴坐标
   CGFloat y,            //圆心Y轴坐标
   CGFloat radius,       //半径 
   CGFloat startAngle,   //开始角度(弧度)
   CGFloat endAngle,     //结束角度(弧度)
   int clockwise         //圆弧的伸展方向(0:顺时针, 1:逆时针)
);

5.画贝塞尔曲线
这里写图片描述
解析:贝塞尔曲线是一种应用广泛的曲线,一阶贝塞尔曲线就是线段,二阶贝塞尔曲线是三点确定的抛物线。
起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。

在IOS中,1个控制点的描述如下(前两个坐标值为控制点坐标):

CGContextAddQuadCurveToPoint(context, 150, 200, 200, 100);

2个控制点的描述如下(前四个坐标值为控制点坐标):

CGContextAddCurveToPoint(context, 120, 100, 180, 50, 190, 190);

到此,介绍了一些常见图形的画法,通过对这些常见图形的组合,可以达到绘制更复杂图形的目的,后续会不断更新,不断丰富内容!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值