[iOS]根据UIColor获取及改变RGB和Alpha
本文产生原因:
画折线图数组时,使用获取的UIColor数组,发现先画的线会被后画的线覆盖,有时无法判断折线的路径。这里就需要改变UIcolor的透明度Alpha,以便相同路径的折线会中和颜色。
// 获取RGB和Alpha
- (NSArray *)getRGBWithColor:(UIColor *)color {
CGFloat red = 0.0;
CGFloat green = 0.0;
CGFloat blue = 0.0;
CGFloat alpha = 0.0;
[color getRed:&red green:&green blue:&blue alpha:&alpha];
return @[@(red), @(green), @(blue), @(alpha)];
}
// 改变UIColor的Alpha
- (UIColor *)getNewColorWith:(UIColor *)color {
CGFloat red = 0.0;
CGFloat green = 0.0;
CGFloat blue = 0.0;
CGFloat alpha = 0.0;
[color getRed:&red green:&green blue:&blue alpha:&alpha];
UIColor *newColor = [UIColor colorWithRed:red green:green blue:blue alpha:0.7];
return newColor;
}
原始效果:
修改后效果: