【iOS】用RGB颜色模型实现彩虹渐变
来源:互联网 发布:java站内搜索引擎 编辑:程序博客网 时间:2024/04/29 19:42
粗略的在网上搜索了一下没有找到现成答案,就自己动手实现了一下。
实现思路:
先在网上查到赤橙黄绿青蓝紫的rgb值,观察规律,然后用循环实现。
赤 (255,0,0)
橙 (255,165,0)
黄 (255,255,0)
绿 (0,255,0)
青 (0,127,255)
蓝 (0,0,255)
紫 (139,0.255)
下面用OC实现一个创建彩虹渐变颜色数组的方法。
核心代码如下:
- (void)initRainbowColors{ _rainbowColors = [[NSMutableArray alloc]init]; int red = 255; int green = 0; int blue = 0; //赤 - 橙 - 黄 while (green < 256) { UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0]; [_rainbowColors addObject:rColor]; green += COLOR; } //黄 - 绿 while (red > 0) { red -= COLOR; UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0]; [_rainbowColors addObject:rColor]; } //绿 - 蓝 while (green > 0) { green -= COLOR; blue += COLOR; UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0]; [_rainbowColors addObject:rColor]; } //蓝 - 紫 while (red < 255) { red += COLOR; UIColor *rColor = [[UIColor alloc]initWithRed:red / 255.0 green:green /255.0 blue:blue /255.0 alpha:1.0]; [_rainbowColors addObject:rColor]; }}
实践表明这样做最终效果也能可以接受(见效果图)
如果一定要按照最初查到的rgb值去做,那就只要拆分 “绿 - 蓝” 循环就好了。
此外,COLOR值是变化的偏移量,越小生成的颜色就越多,色彩变化就越细腻。
- 【iOS】用RGB颜色模型实现彩虹渐变
- 【iOS】彩虹渐变色 的 Swift 实现
- iOS实现颜色渐变
- iOS 实现颜色渐变
- unity实现模型颜色渐变
- android rgb颜色渐变
- ios 实现颜色渐变(渐变色)
- ios渐变颜色的实现
- 用RGB彩灯显示彩虹
- iOS之view用CAGradientLayer实现渐变颜色
- ios开发实现UIView背景颜色渐变
- iOS 实现背景颜色渐变的方式
- 实现颜色渐变--iOS开发
- 彩虹RGB
- 用CSS实现颜色渐变
- 【iOS】View实现透明度渐变和颜色渐变
- iOS实现透明度渐变和颜色渐变的view
- RGB颜色模型归一化
- ubuntu raring 实现双网卡双路由
- 2-1:用队列对扑克牌排序
- hdu 1452 Happy 2004(快速幂取模)
- c++ operator重载的例子
- zabbix agent安装配置
- 【iOS】用RGB颜色模型实现彩虹渐变
- ORA-00603 和ORA-00600: internal error code, arguments: [kdsgrp1]解决过程
- c++ random
- python 2.4 不支持 try-except-finally
- 王垠:清华梦的粉碎—写给清华大学的退学申请(来自shredderyin 的博客)
- 一切皆为 JavaScript
- 2-2:栈的基本操作
- Java线程学习
- 如何看一个企业的成功?