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;

    }

    

}


相关文章推荐

UIcolor RGB颜色

R G B 值   R G B 值   R G B 值 黑色 ...

将UIColor转换为RGB值

[objc] view plaincopy //将UIColor转换为RGB值   - (NSMutableArray *) changeUIColorToRGB:(U...

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

R G B 值 R G B 值 R G B 值 黑色 ...

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

- (UIColor *)colorAtPixel:(CGPoint)point {     // Cancel if point is outside image coordinates ...

RGB颜色拾取器,获取色素值.

  • 2011年08月16日 17:00
  • 52KB
  • 下载

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

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

RGB颜色值获取小软件

  • 2013年12月16日 14:30
  • 127KB
  • 下载

利用windows 系统的画图工具获取图片上某一点的颜色RGB值

今天编写程序时,想模仿一款软件。包括外观颜色都要求很像,但是总是找不到一个与之相似的颜色,后来就想到了可以先获取RGB三色值,然后直接给控件或者窗体的背景赋值。再网上找到很多获取RGB值得工具,但是都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CGColorGetComponents ( UIColor获取RGB值 用于颜色过渡) (二)
举报原因:
原因补充:

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