0

UIColor棒グラフグラフの棒の色になるオブジェクトがあります。この色を線形グラデーションにして、その色からその色の明るいバージョンに移動し、最初の色に戻したいと思います。このための機能だと思いますCGGradientCreateWithColorComponentsが、使い方がわかりません...明るい色の色を入手するにはどうすればよいですか?グラデーションで使用します。私はコアグラフィックスにかなり慣れていません。

ありがとう ...

4

1 に答える 1

0

CAGradientLayerQuartzCoreフレームワークで使用しています。CGColorRefグラデーションを形成するために使用できる色の配列を受け入れます。UIColorinを処理するためのサンプルコードを以下に示します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 ];
于 2012-11-25T06:52:59.803 に答える