フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: グラデーションの色を考えるのがメンドイ
DEKO
管理者
投稿数: 2644
グラデーションの色を考えるのがメンドイ
on: 2013/06/17 09:26 Mon

(Vcl.)GraphUtil にある、GetHighLightColor() / GetShadowColor() を使うのが簡単です。

基準となる色を決め、明るい色を GetHighLightColor()、暗い色を GetShadowColor() で取得してグラデーションを行えば想像している色に近いキレイなグラデーションになると思います。

例えば StringGrid は固定セルの描画に

・DrawingStyle = gdsClassic の場合
FixedColor の色が使われる。
・DrawingStyle = gdsGradientの場合
GradientStartColor / GradientEndColor の色でグラデーション描画される。

 
…のですが、以下のようなコードを書けば FixedColor にだけ値をセットしてやればよくなります。

  StringGrid1.GradientStartColor := GraphUtil.GetHighLightColor(StringGrid1.FixedColor);
StringGrid1.GradientEndColor := GraphUtil.GetShadowColor(StringGrid1.FixedColor);

 
これで DrawingStyle が gdsClassic でも gdsGradient でも同じような系統の色になります。

See Also:
[Delphi で使える色 (Delphi VCL Tips)]
http://ht-deko.minim.ne.jp/tech067.html
["ソースを改変する事にハマってしまうのがプログラミングに携わる者の悲しい性" ]
http://ht-deko.minim.ne.jp/ft1106.html#110604_01

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.02 sec.