前のページ次のページ上に戻るホーム SophiaFramework 2.2

9.2. カラーの使い方

9.2.1. カラーとは?

カラーとは、色を扱うクラスです。 カラークラス群を使用すると、RGB で表現される色の RGB 値をまとめて扱う ことができるようになります。また、色の計算や、明るくしたり暗くしたりといった 演算を簡単にできるようになります。カラークラス群には、単純な RGB 値を 扱う SFUColor クラス、 立体的なデザインのオブジェクトを描く場合に便利な、 暗い部分と明るい部分などの色をまとめて管理できる SFUColor3D クラス、 枠と影の色をまとめて扱う SFUShadow3D クラスが用意されています。

9.2.2. カラーの使用例

カラー クラスを使用した RGB 値の扱い方を以下に示します。 以下の例では、描画関数に RGB 値を渡しています。

SFUColor        c(0x00, 0xFF, 0x00);
SFURect         r(0, 0, 20, 20);
SFUGraphicsPtr  g;

g = SFUGraphic::Instance();
g->DrawRect(r, c);

次に RGB 値の演算の例を示します。

SFUColor        c(0x00, 0xFF, 0x00);

// RGB 値を減算
c -= SFUColor(0x00, 0x33, 0x00);

// RGB 値を加算
c += SFUColor(0x00, 0x11, 0x00);

RGB 値を比較するには以下のように記述します。

SFUColor        c1(0x00, 0xFF, 0x00);
SFUColor        c2(0x00, 0x00, 0x00);

if (c1 != c2) {
  // c1 と c2 が違うとき
}

// 以下のような記述もできます
if (c1.Equal(c2)) {
  // c1 と c2 が同じとき
}