博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quartz2D
阅读量:6431 次
发布时间:2019-06-23

本文共 1074 字,大约阅读时间需要 3 分钟。

  hot3.png

Quartz2D(2D绘图引擎)

在这个框架下绘制图形的时候,应该新建一个继承于UIView的类:

重写一个drawRect方法:

-(void )drawRect:(CGRect )rect

{

//在这里面调用绘图的方法

}

1.绘制直线

-(void )drawLine

{

//获取图形的上下文

CGContextRef ref=UIGraphicsGetCurrentContext();

//设置直线的起点

CGContextMoveToPoint(ref,x,y);

//设置直线的终点

CGContextAddLineToPoint(ref,x,y);

//设置直线的颜色

[ [ UIColor redColor] set];

//设置直线的宽度

CGContextSetLineWidth(ref , number);

//让直线渲染出来

CGContextStrokePath(ref);

}

在绘制直线的时候,可以多次绘制直线,仅仅获取一次上下文,渲染一次就好

2.绘制矩形

a.获取图形的上下文(同上)

b.绘制图形

CGContextAddRect(ref,CGRectMake(x,y,width,height));

c.设置边框颜色

[ [UIColor redColor] set ];

d.渲染边框颜色

CGContextStrokePath(ref);

e.设置填充色

[ [ UIColor redColor ]setFill ];

f.渲染填充色

CGContextFillPath(ref);

g.也可以同时渲染边框和填充色

CGContextDrawPath(ref,kCGPathFillStroke);

3.绘制三角形

a.获取上下文(同上)

b.设置直线的起点

CGContextMoveToPoint(ref,x,y);

c.设置第一条直线的终点

CGContextAddLineToPoint(ref,x,y);

d.设置第二条直线的终点

CGContextAddToPoint(ref,x,y);

e.设置图形闭合

CGContextClosePath(ref);

f.设置边框颜色,填充色,渲染边框和填充色(同上)

4.绘制圆

a.获取上下文

b.绘制圆

CGContextAddArc(ref,x,y,r,开始弧度,结束弧度,顺时针or逆时针【0 or 1】);

c.设置边框和填充色,渲染(同上)

 

转载于:https://my.oschina.net/1861/blog/737404

你可能感兴趣的文章
我的友情链接
查看>>
java学习第一天1.2
查看>>
清空输入缓冲区的方法
查看>>
Yii2 项目优化小贴士
查看>>
UIScrollView的判断位置的属性如下:
查看>>
Applicatin Loader上传app步骤记录
查看>>
两种方法修改table表的内容
查看>>
张小龙莫慌 马化腾莫急 你们要好好的 微信还有时间
查看>>
一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)
查看>>
部署mimic版本的Ceph分布式存储系统
查看>>
Java缓冲流细节
查看>>
IOS中复制对象的用法及深拷贝和浅拷贝详解
查看>>
lfs
查看>>
Eclipse内存不够解决办法
查看>>
关于tbody js取法兼容。
查看>>
[CC]点云密度计算
查看>>
CATransition 动画处理视图切换
查看>>
[转载] 高等应用数学问题的matlab求解——第3章 微积分问题的计算机求解
查看>>
大整数比较大小
查看>>
C++ 指定路径文件夹存在与否查询及文件夹创建
查看>>