iOS:渐变
来源:互联网 发布:电脑照片修改软件 编辑:程序博客网 时间:2024/04/28 22:23
ios CGContext 学习1 画线 画矩形 渐变效果
void drawLinearGradient(CGContextRef context,
CGRect rect,
CGColorRef startColor,
CGColorRef endColor)
{
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[] = {0.0,1.0}; //颜色所在位置
NSArray *colors = [NSArrayarrayWithObjects:(id)startColor,(id)endColor, nil];//渐变颜色数组
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef) colors, locations);//构造渐变
CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
CGContextSaveGState(context);//保存状态,主要是因为下面用到裁剪。用完以后恢复状态。不影响以后的绘图
CGContextAddRect(context, rect);//设置绘图的范围
CGContextClip(context);//裁剪
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);//绘制渐变效果图
CGContextRestoreGState(context);//恢复状态
CGGradientRelease(gradient);
CGColorSpaceRelease(colorSpace);
}
//使用
CGContextRef context = UIGraphicsGetCurrentContext();
CGColorRef whiteColor = [UIColorcolorWithRed:1.0green:1.0blue:1.0alpha:1.0].CGColor;
CGColorRef lightGrayColor = [UIColorcolorWithRed: 230.0 / 255.0
green: 230.0 / 255.0
blue: 230.0 / 255.0
alpha:1.0].CGColor;
CGRect paperRect = self.bounds;
drawLinearGradient(context, paperRect, whiteColor,lightGrayColor);
CGContextSetStrokeColorWithColor(context, lightGrayColor);
CGRect newrRect = CGRectInset(paperRect, 1.5, 1.5);//构造位置
CGContextSetLineWidth(context, 1);//设置笔宽
CGContextStrokeRect(context, newrRect);//绘图
效果:
函数部分主要是渐变效果
后面的是笔刷画一条虚拟的边框。
- ios 渐变
- iOS:渐变
- ios颜色渐变
- ios 颜色渐变效果
- IOS 颜色渐变
- IOS 添加渐变色
- iOS 实现渐变色
- 颜色渐变 ios
- ios 渐变色
- iOS绘制颜色渐变
- ios颜色渐变
- ios 渐变色
- iOS 渐变色
- iOS 颜色渐变
- iOS设置颜色渐变
- iOS 实现渐变色
- iOS颜色渐变效果
- iOS颜色渐变
- Java学习笔记一
- 剑指offer:面试的基础知识(一)
- 为mysql数据库建立索引
- Oracle 多表级联更新(不积跬步,无以至千里)
- php多维数组按某一个键值排序
- iOS:渐变
- 虚拟现实,是否现实?
- hdu - 1297 Children’s Queue
- servlet生成验证码
- 红黑树(RED-BLACK TREES)基本概念
- 大学生面试着装要求(男生篇)
- Sqoop安装配置及将mysql数据导入到hdfs中
- java对象转换为json字符串
- 大家好