iOS 根据百分比获得渐进色 由绿到红
2016-02-27 11:55
232 查看
根据red,green,blue三原色的不同数值组合,可以得到不同颜色。将百分比作为参数,控制某两种颜色的值,就可以得到两种颜色的渐进色。
以获得由绿到蓝的渐进色为例:
Objective-c代码
- (UIColor*)getColorByPercent:(double)percent {
NSInteger r = 0;
NSInteger g = 0;
NSInteger one = 255 + 255;
if ( percent < 0.5 ) {
// 比例小于50的时候红色是越来越多的,直到红色为255时(红+绿)变为黄色.
r = one * percent;
g=255;
}
if ( percent >= 0.5 ) {
// 比例大于50的时候绿色是越来越少的,直到0 变为纯红
g = 255 - ( (percent - 0.5 ) * one) ;
r = 255;
}
return [UIColor colorWithRed:r/255.0 green:g/255.0 blue:0 alpha:1];
}
同理,可以得到由蓝到红,由黄到红等根据百分比获得渐进颜色的方法。
以获得由绿到蓝的渐进色为例:
Objective-c代码
- (UIColor*)getColorByPercent:(double)percent {
NSInteger r = 0;
NSInteger g = 0;
NSInteger one = 255 + 255;
if ( percent < 0.5 ) {
// 比例小于50的时候红色是越来越多的,直到红色为255时(红+绿)变为黄色.
r = one * percent;
g=255;
}
if ( percent >= 0.5 ) {
// 比例大于50的时候绿色是越来越少的,直到0 变为纯红
g = 255 - ( (percent - 0.5 ) * one) ;
r = 255;
}
return [UIColor colorWithRed:r/255.0 green:g/255.0 blue:0 alpha:1];
}
同理,可以得到由蓝到红,由黄到红等根据百分比获得渐进颜色的方法。
相关文章推荐
- iOS中Layer的认识和使用
- ios 9.2xcode7.2下批量打渠道包
- iOS规范参考
- iOS 加密的3种方法
- ios开发第三方库--cocoapods安装
- 斯坦福大学IOS开发课程笔记(第七课第一部分)
- iOS CAShapeLayer精讲
- iOS开源库--最全的整理
- 如何发布自己的开源框架到CocoaPods
- iOS框架
- iOS中base64字符串和普通字符串的转换
- iOS8和iOS9新特性的总结
- iOS延时操作
- ios Runloop
- IOS实现点击滑动抽屉效果
- iOS-多线程编程学习之GCD——线程组、延时、计时器等(六)
- iOS实现左右拖动抽屉效果
- iOS Autolayout中NSLayoutAttributeLeft(Right)与NSLayoutAttributeLeading(Trailing)区别
- iOS-多线程编程学习之GCD——串行队列和并发队列(五)
- iOS9-by-Tutorials-学习笔记五:Multitasking