Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

IOS 之 Quartz 2D 绘图(下)

$
0
0

由于最近一段时间比较忙,一直没有时间更新博客,今天总算是抽空为上次的 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 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>