我有一个UIColor
对象,它将成为条形图中条形图的颜色。我想将这种颜色变成线性渐变,从颜色到颜色的浅色版本再回到初始颜色。我认为CGGradientCreateWithColorComponents
是这个的功能,但我不知道如何使用它...我如何获得我的颜色的较轻版本?并在渐变中使用它。我对核心图形很新。
谢谢...
答案 0 :(得分:0)
我在Quartz Core框架中使用CAGradientLayer
。它接受一组CGColorRef
颜色,可用于形成渐变。下面显示了一些示例代码,用于处理UIColor
中的color
。您可以修改亮度或其他HSB参数以达到您想要的效果。
CGFloat hue;
CGFloat saturation;
CGFloat brightness;
CGFloat alpha;
[ color getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha ]
CAGradientLayer *gradient = [ CAGradientLayer layer ];
gradient.frame = self.bounds;
gradientColorsArray = [ NSArray arrayWithObjects:
(id) [[ UIColor colorWithHue:1.0 saturation:1.0 brightness:1.0 alpha:1.0 ] CGColor],
(id) [[ UIColor colorWithHue:1.0 saturation:1.0 brightness:0.75 alpha:1.0 ] CGColor],
nil ];
gradient.colors = gradientColorsArray;
gradient.startPoint = CGPointMake(0.5f, 0.0f);
gradient.endPoint = CGPointMake(0.5f, 1.0f);
[ self.layer addSublayer:gradient ];