簡體   English   中英

從UIColor獲取線性CGGradient

[英]obtain linear CGGradient from UIColor

我有一個UIColor對象,它將是條形圖圖形中條形的顏色。 我想將此顏色設置為線性漸變,該漸變將從該顏色變為該顏色的較淺版本,然后再回到初始顏色。 我認為CGGradientCreateWithColorComponents是用於此功能,但我不確定如何使用它...如何獲得較淺的顏色版本? 並在漸變中使用它。 我對核心圖形還很陌生。

謝謝 ...

我在Quartz Core框架中使用CAGradientLayer 它接受可用於形成漸變的CGColorRef顏色數組。 下面顯示了一些示例代碼,用於處理colorUIColor 您可以修改亮度或其他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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM