[英]obtain linear CGGradient from UIColor
我有一個UIColor
對象,它將是條形圖圖形中條形的顏色。 我想將此顏色設置為線性漸變,該漸變將從該顏色變為該顏色的較淺版本,然后再回到初始顏色。 我認為CGGradientCreateWithColorComponents
是用於此功能,但我不確定如何使用它...如何獲得較淺的顏色版本? 並在漸變中使用它。 我對核心圖形還很陌生。
謝謝 ...
我在Quartz Core框架中使用CAGradientLayer
。 它接受可用於形成漸變的CGColorRef
顏色數組。 下面顯示了一些示例代碼,用於處理color
的UIColor
。 您可以修改亮度或其他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 ];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.