犬になる -4ページ目

犬になる

動物のこと、育児のこと、社会のこと、自分のこと、なにげないこと・・・

覚書。


//---------------------------------------------------------------------------
// グラデーション色を計算で取得
//---------------------------------------------------------------------------
TColor __fastcall TfraPresetButtons::GetGradientColor(TColor basecl)
{
Word H;
Word L;
Word S;

// HLS値に変換
ColorRGBToHLS(basecl,H,L,S);

// 調整してRGB値に戻す
TColor retcl = ColorHLSToRGB(H,
AdjustLSValue(L + 25),
AdjustLSValue(S - 35));

return retcl;
}

//---------------------------------------------------------------------------
// Luminance, Saturationの値を0~240に収める
//---------------------------------------------------------------------------
Word __fastcall TfraPresetButtons::AdjustLSValue(int val)
{
if (val > 240) {
val -= 70;
}
else if (val < 0) {
val += 70;
}

return val;
}


**************************************************************

ベース色だけ指定して、同じ色で色彩だけ変化させた色を計算。
ちょっとうすめにしたり濃い目にしたり。
ずっと調べてたんだけど意外と簡単だったとはorz
共通関数あると便利~

色相変化させたいときにはHの値を変えたらいいらしい。
RGBやらHLSやら他にもなんちゃら・・・
デザイン系てむつかしい。