FineKernelToolKit
3.1.0
|
RGB色を管理するクラス [詳解]
公開メンバ関数 | |
fk_Color () | |
コンストラクタ1 [詳解] | |
fk_Color (double R, double G, double B) | |
コンストラクタ2 [詳解] | |
fk_Color (double R, double G, double B, double A) | |
コンストラクタ3 [詳解] | |
fk_Color (float R, float G, float B) | |
コンストラクタ4 [詳解] | |
fk_Color (float R, float G, float B, float A) | |
コンストラクタ5 [詳解] | |
~fk_Color () | |
デストラクタ [詳解] | |
!fk_Color () | |
ファイナライザ [詳解] | |
bool | fk_Color::Equals (fk_Color^ C) |
同値比較メソッド1 [詳解] | |
virtual bool | fk_Color::Equals (Object^ C) override |
同値比較メソッド2 [詳解] | |
String^ | fk_Color::ToString () override |
文字列出力メソッド [詳解] | |
void | Init (void) |
初期化メソッド1 [詳解] | |
void | Init (float R, float G, float B) |
初期化メソッド2 [詳解] | |
void | Init (float R, float G, float B, float A) |
初期化メソッド3 [詳解] | |
void | Init (double R, double G, double B) |
初期化メソッド4 [詳解] | |
void | Init (double R, double G, double B, double A) |
初期化メソッド5 [詳解] | |
void | Set (float R, float G, float B) |
設定メソッド1 [詳解] | |
void | Set (float R, float G, float B, float A) |
設定メソッド2 [詳解] | |
void | Set (double R, double G, double B) |
設定メソッド3 [詳解] | |
void | Set (double R, double G, double B, double A) |
設定メソッド4 [詳解] | |
void | SetHSV (double H, double S, double V) |
HSV変換メソッド [詳解] | |
静的公開メンバ関数 | |
二項演算子 | |
static fk_Color^ | operator+ (fk_Color^ , fk_Color^ ) |
色要素和二項演算子 [詳解] | |
static fk_Color^ | operator- (fk_Color^ , fk_Color^ ) |
色要素差二項演算子 [詳解] | |
static fk_Color^ | operator* (fk_Color^ , double) |
実数倍二項演算子1 [詳解] | |
static fk_Color^ | operator* (double, fk_Color^ ) |
実数倍二項演算子2 [詳解] | |
static fk_Color^ | operator/ (fk_Color^ , double) |
実数商二項演算子 [詳解] | |
代入演算子 | |
static void | operator*= (fk_Color^ , double) |
実数積代入演算子 [詳解] | |
static void | operator/= (fk_Color^ , double) |
実数商代入演算子 [詳解] | |
static void | operator+= (fk_Color^ , fk_Color^ ) |
単項和代入演算子 [詳解] | |
static void | operator-= (fk_Color^ , fk_Color^ ) |
単項差代入演算子 [詳解] | |
プロパティ | |
float | col[int] [get, set] |
色要素配列プロパティ [詳解] | |
float | r [get, set] |
R(赤)要素プロパティ [詳解] | |
float | g [get, set] |
G(緑)要素プロパティ [詳解] | |
float | b [get, set] |
B(青)要素プロパティ [詳解] | |
float | a [get, set] |
A(透過色)要素プロパティ [詳解] | |
RGB色を管理するクラス
このクラスは、RGBA法による色を管理、制御する機能を提供します。 「RGBA」のRが赤、Gが緑、Bが青、Aが透過度を意味します。 各要素は float 型によって表現し、値域は 0 から 1 までです。 透過色要素は 0 が完全な透明、1 が完全な不透明となります。
なお、透過色を設定した場合でも、 シーンで透過処理設定を有効としなければ、透過処理が行われません。 詳細は fk_Scene::BlendStatus の説明を参照して下さい。
FK_CLI::fk_Color::fk_Color | ( | ) |
コンストラクタ1
RGB値がすべて 0.2, 透過色 1 (完全不透明) であるデフォルト値で色を生成します。
FK_CLI::fk_Color::fk_Color | ( | double | R, |
double | G, | ||
double | B | ||
) |
コンストラクタ2
R,G,Bの各色を引数で指定します。透過色要素は初期値では 1 になります。
[in] | R | R要素の値 |
[in] | G | G要素の値 |
[in] | B | B要素の値 |
FK_CLI::fk_Color::fk_Color | ( | double | R, |
double | G, | ||
double | B, | ||
double | A | ||
) |
コンストラクタ3
R,G,B,A(透過色)の各色を引数で指定します。
[in] | R | R要素の値 |
[in] | G | G要素の値 |
[in] | B | B要素の値 |
[in] | A | A要素の値 |
FK_CLI::fk_Color::fk_Color | ( | float | R, |
float | G, | ||
float | B | ||
) |
コンストラクタ4
R,G,Bの各色を引数で指定します。透過色要素は初期値では 1 になります。
[in] | R | R要素の値 |
[in] | G | G要素の値 |
[in] | B | B要素の値 |
FK_CLI::fk_Color::fk_Color | ( | float | R, |
float | G, | ||
float | B, | ||
float | A | ||
) |
コンストラクタ5
R,G,B,A(透過色)の各色を引数で指定します。
[in] | R | R要素の値 |
[in] | G | G要素の値 |
[in] | B | B要素の値 |
[in] | A | A要素の値 |
FK_CLI::fk_Color::~fk_Color | ( | ) |
デストラクタ
FK_CLI::fk_Color::!fk_Color | ( | ) |
ファイナライザ
色要素和二項演算子
色値 C1 と C2 の和を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。
C3 = C1 + C2;
なお演算の結果、成分値が 1 を超える場合はその成分を 1 とします。
色要素差二項演算子
色値 C1 と C2 の差を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。
C3 = C1 - C2;
なお演算の結果、成分値が 0 未満となる場合はその成分を 0 にします。
実数倍二項演算子1
ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。
C2 = C1 * d;
色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。
実数倍二項演算子2
ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。
C2 = d * C1;
色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。
実数商二項演算子
ベクトル C1 のスカラー商色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。
C2 = C1/d;
なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。
|
static |
実数積代入演算子
以下のコードは、C の各成分を d 倍します。 C は fk_Color 型の変数、d は double 型の変数です。
C *= d;
d は変数でなく数値でも構いません。
C *= 2.0;
なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。
|
static |
実数商代入演算子
以下のコードは、C の各成分を 1/d 倍します。 C は fk_Color 型の変数、d は double 型の変数です。
C /= d;
d は変数でなく数値でも構いません。
C /= 2.0;
なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。 また、d が 0 であった場合は C の値を変更しません。
単項和代入演算子
以下のコードは、C1 に C2 を追加します。 C1、C2 はいずれも fk_Color 型の変数です。
C1 += C2;
上記コードは、以下のコードと同義です。
C1 = C1 + C2;
なお演算の結果、成分値が 1 を超える場合はその成分を 1 とします。
単項差代入演算子
以下のコードは、C1 から C2 を引きます。 C1、C2 はいずれも fk_Color 型の変数です。
C1 -= C2;
上記コードは、以下のコードと同義です。
C1 = C1 - C2;
なお演算の結果、成分値が 0 未満となる場合はその成分を 0 にします。
bool FK_CLI::fk_Color::fk_Color::Equals | ( | fk_Color^ | C | ) |
同値比較メソッド1
二つの色値が同値かどうかを判定します。 単純に == 演算子を用いた場合はインスタンスが同一であるかどうかの判定となるため、 異なるインスタンスで同値かどうかを判定する場合はこのメソッドを利用して下さい。
[in] | C | 同値かどうかを判定する色値 |
|
overridevirtual |
同値比較メソッド2
二つの色値の値が同値かどうかを判定します。 単純に == 演算子を用いた場合はインスタンスが同一であるかどうかの判定となるため、 異なるインスタンスで同値かどうかを判定する場合はこのメソッドを利用して下さい。
[in] | C | 同値かどうかを判定する色値 |
|
override |
文字列出力メソッド
現在の色成分値を文字列として出力します。
void FK_CLI::fk_Color::Init | ( | void | ) |
初期化メソッド1
(R, G, B, A) = (0, 0, 0, 1) で初期化を行います。
void FK_CLI::fk_Color::Init | ( | float | R, |
float | G, | ||
float | B | ||
) |
void FK_CLI::fk_Color::Init | ( | float | R, |
float | G, | ||
float | B, | ||
float | A | ||
) |
初期化メソッド3
色要素の設定を行います。 同一引数型を持つ Set(float, float, float, float) と同様に動作します。
[in] | R | R要素値 |
[in] | G | G要素値 |
[in] | B | B要素値 |
[in] | A | A要素値 |
void FK_CLI::fk_Color::Init | ( | double | R, |
double | G, | ||
double | B | ||
) |
void FK_CLI::fk_Color::Init | ( | double | R, |
double | G, | ||
double | B, | ||
double | A | ||
) |
初期化メソッド5
色要素の設定を行います。 同一引数型を持つ Set(double, double, double, double) と同様に動作します。
[in] | R | R要素値 |
[in] | G | G要素値 |
[in] | B | B要素値 |
[in] | A | A要素値 |
void FK_CLI::fk_Color::Set | ( | float | R, |
float | G, | ||
float | B | ||
) |
void FK_CLI::fk_Color::Set | ( | float | R, |
float | G, | ||
float | B, | ||
float | A | ||
) |
設定メソッド2
色要素の設定を行います。 Init(float, float, float, float) と同様に動作します。
[in] | R | R要素値 |
[in] | G | G要素値 |
[in] | B | B要素値 |
[in] | A | A要素値 |
void FK_CLI::fk_Color::Set | ( | double | R, |
double | G, | ||
double | B | ||
) |
void FK_CLI::fk_Color::Set | ( | double | R, |
double | G, | ||
double | B, | ||
double | A | ||
) |
設定メソッド4
色要素の設定を行います。 Init(double, double, double, double) と同様に動作します。
[in] | R | R要素値 |
[in] | G | G要素値 |
[in] | B | B要素値 |
[in] | A | A要素値 |
void FK_CLI::fk_Color::SetHSV | ( | double | H, |
double | S, | ||
double | V | ||
) |
HSV変換メソッド
HSV色からの変換を行い、その結果を格納します。 透明度は 1.0 (完全な不透明) となります。
[in] | H | 色相要素値。単位は弧度法(ラジアン)です。 |
[in] | S | 彩度要素値。最小値は0、最大値は1です。 |
[in] | V | 明度要素値。最小値は0、最大値は1です。 |
|
getset |
色要素配列プロパティ
各色要素を float の配列によってアクセスできるプロパティです。 メソッドを介さずに直接参照、操作しても問題ありません。
|
getset |
R(赤)要素プロパティ
R(赤)要素の参照・設定を行います。0から1の値となります。
|
getset |
G(緑)要素プロパティ
G(緑)要素の参照・設定を行います。0から1の値となります。
|
getset |
B(青)要素プロパティ
B(青)要素の参照・設定を行います。0から1の値となります。
|
getset |
A(透過色)要素プロパティ
A(透過色)要素の参照・設定を行います。 0から1の値となり、0 が完全な透明、1 が完全な不透明となります。