CGColorGetComponents ( UIColor获取RGB值 用于颜色过渡) (二)

原创 2016年08月29日 15:10:05

鉴于第一篇文章。写了下面的颜色过渡动画


//颜色过渡  

+(UIColor *)currentColor:(UIColor*)color1 changeColor:(UIColor *)color2 ratio:(CGFloat)ratio

{

    CGFloat components1[3];

    CGFloat components2[3];

    [self getRGBComponents:components1 forColor:color1];

    [self getRGBComponents:components2 forColor:color2];


    CGFloat r = components1[0]*ratio + components2[0]*(1-ratio);

    CGFloat g = components1[1]*ratio + components2[1]*(1-ratio);

    CGFloat b = components1[2]*ratio + components2[2]*(1-ratio);

    return [UIColor colorWithRed:r green:g blue:b alpha:1];

}



//获取components

+ (void)getRGBComponents:(CGFloat [3])components forColor:(UIColor *)color {

    CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB();

    unsigned char resultingPixel[4];

    CGContextRef context = CGBitmapContextCreate(&resultingPixel,

                                                 1,

                                                 1,

                                                 8,

                                                 4,

                                                 rgbColorSpace,

                                                 kCGImageAlphaNoneSkipLast);

    CGContextSetFillColorWithColor(context, [color CGColor]);

    CGContextFillRect(context, CGRectMake(0, 0, 1, 1));

    CGContextRelease(context);

    CGColorSpaceRelease(rgbColorSpace);

    

    for (int component = 0; component < 3; component++) {

        components[component] = resultingPixel[component] / 255.0f;

    }

    

}


Swift 的UIColor 类的详解使用和十六进制转RGB

生活处处充满色彩,当然,作为一个App -IOS 的开发者,在你手上产出的App 也应该具有一定的特色。和绚丽的色彩。那么就要考虑到颜色的创建类  UIColor 。今天我就带你走进  Swift  ...
  • zhoushuangjian511
  • zhoushuangjian511
  • 2015年11月27日 13:18
  • 4566

android_Color.RGB 颜色之间渐变基本算法

android之颜色渐变基本算法应用 由于最近项目需要做一个信誉界面,信誉度越高,颜色是绿色的,信誉越低,颜色则是红色,之间则是两则之间的颜色;当然一开始设计的时候,在这个色条上取几个代表性的颜色,然...
  • qq_20613731
  • qq_20613731
  • 2015年08月08日 14:38
  • 1419

UIColor:RGB和HSV互相转换

UIColor:RGB和HSV互相转换 关于颜色的种种属性,一直感觉挺神秘,不曾花时间来研究,今天揭开神秘面纱的一角。 RGB:三原色 Red, Green, Blue Alpha:...
  • thanklife
  • thanklife
  • 2014年05月14日 11:40
  • 5054

UIcolor RGB颜色

R G B 值   R G B 值   R G B 值 黑色 ...
  • gaojq_ios
  • gaojq_ios
  • 2015年07月19日 14:20
  • 1180

将UIColor转换为RGB值

[objc] view plaincopy //将UIColor转换为RGB值   - (NSMutableArray *) changeUIColorToRGB:(U...
  • zhenggaoxing
  • zhenggaoxing
  • 2016年01月18日 14:02
  • 329

[iOS][UIColor *] 常用色彩的RGB值

R G B 值 R G B 值 R G B 值 黑色 ...
  • u014057964
  • u014057964
  • 2014年05月09日 09:55
  • 962

iOS 获取图片某一点的颜色对象(UIColor*)。

- (UIColor *)colorAtPixel:(CGPoint)point {     // Cancel if point is outside image coordinates ...
  • wsq724439564
  • wsq724439564
  • 2014年05月08日 17:43
  • 2949

IOS 获取图像指定点的颜色(UIColor)

在 IOS 开发中,有时候需要获取图像中某个像素点的颜色,返回 UIColor 值。网上收集资料,参考各种方案,最后总结如下:- (UIColor *)colorAtPixel:(CGPoint)po...
  • huangfei711
  • huangfei711
  • 2017年07月27日 14:51
  • 575

基于vc的获取任意颜色的RGB值例子

  • 2009年05月07日 17:20
  • 37KB
  • 下载

VC获取鼠标位置以及鼠标处的RGB颜色值

  • 2013年12月17日 18:24
  • 9.94MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CGColorGetComponents ( UIColor获取RGB值 用于颜色过渡) (二)
举报原因:
原因补充:

(最多只允许输入30个字)