前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >绘图quartz之渐变

绘图quartz之渐变

作者头像
用户1219438
发布2018-02-01 14:12:17
7260
发布2018-02-01 14:12:17
举报
文章被收录于专栏:AliceAlice

实现线性渐变   径向渐变

自己新建的view中有一个drawRect:(cgrect)rect方法

在这个方法里 可以通过画图 将内容显示在画板上(即最下边的view)

渐变的方式分两种  :1种是线性渐变    1种是径向渐变

首先先看 线性渐变  

1 设置图像的上下文 

2 获得颜色空间  说明他是什么类型的颜色

3 设置开始颜色  结束颜色  并且将他们换成Cg颜色 

4 设置渐变   渐变的4个参数  没有的需要进行创建  2  3 

5 绘制线性渐变  绘制径向渐变

6清理creat创建的对象 用cg

// Drawing code     //获得当前图形器的当前的上下文 CGContextRef context  = UIGraphicsGetCurrentContext();     //创建渐变的颜色空间类型是RGB颜色 CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();     //设置颜色的开始 颜色的结束 UIColor *beginColor =  [UIColor redColor];     //将颜色转换为cgColor//CGFloat是浮点型的基本数据类型 CGFloat *beginC =CGColorGetComponents([beginColor CGColor]);     UIColor *endColor = [UIColor yellowColor];     CGFloat *endC = CGColorGetComponents([endColor CGColor]);     //将两个颜色的元素加入到一个Cgfloat数组中 CGFloat component[8] = {beginC[0],beginC[1],beginC[2],beginC[3],endC[0],endC[1],endC[2],endC[3]};     //设定颜色的区间 区间范围是0 1  如果区间没有你要的颜色 就会执行靠近区间的颜色 CGFloat location[2] ={0,1};     //设置渐变

CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, component, location, 2);

     //绘制直线渐变

CGContextDrawLinearGradient(context, gradient, CGPointMake(100, 100), CGPointMake(200, 200), 0);

     //绘制径向渐变

CGContextDrawRadialGradient(context, gradient, CGPointMake(300, 300), 50, CGPointMake(300, 300), 60, kCGGradientDrawsBeforeStartLocation);

    //清理 CGColorSpaceRelease(colorSpace);

    CGGradientRelease(gradient);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-10-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档