由于最近一段时间比较忙,一直没有时间更新博客,今天总算是抽空为上次的 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);
到此,介绍了一些常见图形的画法,通过对这些常见图形的组合,可以达到绘制更复杂图形的目的,后续会不断更新,不断丰富内容!
作者:huangfei711 发表于2016/9/24 15:23:07 原文链接
阅读:181 评论:0 查看评论