ObjectC&&Swift 渐变色算法实现
来源:互联网 发布:windows文档加密 编辑:程序博客网 时间:2024/05/16 05:45
-(NSArray *)getGradientColorWithStartColor:(UIColor *)startColor endColor:(UIColor *)endColor step:(NSInteger)step inverse:(BOOL)inverse { //1 get start color rgb CGFloat startR = 0.0, startG = 0.0, startB = 0.0; CGColorRef startColorRGB = [startColor CGColor]; NSInteger startNumComponents = CGColorGetNumberOfComponents(startColorRGB); if (startNumComponents == 4) { const CGFloat *components = CGColorGetComponents(startColorRGB); startR = components[0]; startG = components[1]; startB = components[2]; } //2 get end color rgb CGFloat endR = 0.0, endG = 0.0, endB = 0.0; CGColorRef endColorRGB = [endColor CGColor]; NSInteger endNumComponents = CGColorGetNumberOfComponents(endColorRGB); if (endNumComponents == 4) { const CGFloat *components = CGColorGetComponents(endColorRGB); endR = components[0]; endG = components[1]; endB = components[2]; } //3 calculate total threshold by step CGFloat stepR = 0.0, stepG = 0.0, stepB = 0.0; stepR = step == 1 ? 0 : (endR-startR) / (step - 1); stepG = step == 1 ? 0 : (endG-startG) / (step - 1); stepB = step == 1 ? 0 : (endB-startB) / (step - 1); //calculate uicolor by step CGFloat green = startG; CGFloat red = startR; CGFloat blue = startB; NSMutableArray *stepColorArray = [[NSMutableArray alloc] initWithCapacity:step]; for (NSInteger i = 0; i < step - 1; i++) { red = red + stepR; green = green + stepG; blue = green + stepB; UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:0]; [stepColorArray addObject:color]; } return stepColorArray;}
0 0
- ObjectC&&Swift 渐变色算法实现
- 【iOS】彩虹渐变色 的 Swift 实现
- swift 自定义画渐变色折线图
- IOS_CAGradientLayer 实现渐变色
- iOS 实现渐变色
- 实现渐变色
- iOS 实现渐变色
- Quartz2D实现渐变色
- ios 实现颜色渐变(渐变色)
- swift实现排序算法
- swift实现图片下拉放大,导航栏渐变效果
- swift与objectc混编 module-Swift.h file not found
- matlab实现PS算法之渐变
- Swift 渐变 UISlider
- Swift 渐变 image
- 纯CSS实现渐变色
- 渐变色的实现方式
- 实现渐变色的JProgressBar
- JS,Jquery获取各种屏幕的宽度和高度
- 解决Android 弹出软键盘将整个界面上移的问题
- Struts2-国际化
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- tcp_tw_recycle导致NAT网络TCP连接失败
- ObjectC&&Swift 渐变色算法实现
- 在一个方框内上下左右移动图片
- 如何用PowerShell 修改Site Collection的URL?
- 5种服务器网络编程模型讲解
- Oracle pl/sql编程 11---loop循环
- 【.Net码农】修改WebBrowser控件的内核解决方案
- GTK+2.0编程范例代码分析-第一章(2)
- 范围最小值问题 (Range Minimum Query,RMQ)
- 【Leetcode】之Two Sum问题