Color ライブラリ
概要 - Abstract
VCSSL Color ライブラリ は、色の扱いを補助するための標準ライブラリです。主に Graphics2D や Graphics3D ライブラリなどと組み合わせて、グラフィックス関連の処理に用います。
このライブラリでは、色を int[4] 配列として扱います。各要素は、[0] が赤色成分、[1] が緑色成分、[2] が青色成分、[3] がα値成分を格納します。
それぞれの色成分における値の範囲は 0 〜 255 です。つまり int[4] 配列で 32bit のRGBAカラーを表現します。
このライブラリに合わせて、Graphics2D や Graphics3D ライブラリなどでも、int[4] 配列を 32bit RGBAカラーと見なして、色の設定・取得などを行えるようになっています。
使用例として、Graphics2D で描画色を青色に設定する例を挙げます。これはColorライブラリの機能を使用しなくても、以下のようにして可能です:
しかし、Colorライブラリの機能を使用する事で、以下のように様々な形式で色設定ができるようになります:
setDrawColor( rendererID, color(0, 0, 255) ); // 24bit RGBカラーで設定
setDrawColor( rendererID, color(0.0, 0.0, 1.0) ); // 0.0 〜 1.0 の範囲のRGBカラーで設定
setDrawColor( rendererID, color( 0x0000ff ) ); // 16進数カラーコードで設定
目次 - Index
- const int BLACK[ ]
- 黒色の色成分を格納する配列です。
- const int WHITE[ ]
- 白色の色成分を格納する配列です。
- const int RED[ ]
- 赤色の色成分を格納する配列です。
- const int GREEN[ ]
- 緑色の色成分を格納する配列です。
- const int BLUE[ ]
- 青色の色成分を格納する配列です。
- const int MAGENTA[ ]
- 紫色(マゼンタ)の色成分を格納する配列です。
- const int YELLOW[ ]
- 黄色の色成分を格納する配列です。
- const int CYAN[ ]
- 水色(シアン)の色成分を格納する配列です。
- int[ ] color(int red, int green, int blue, int alpha)
- 0 〜 255 の整数RGBA値から、色成分を格納する配列を生成して返します。
- int[ ] color(int red, int green, int blue)
- 0 〜 255 の整数RGB値から、色成分(不透明色)を格納する配列を生成して返します。
- int[ ] color(float red, float green, float blue, float alpha)
- 0.0 〜 1.0 の小数RGBA値から、色成分を格納する配列を生成して返します。
- int[ ] color(float red, float green, float blue)
- 0.0 〜 1.0 の小数RGB値から、色成分(不透明色)を格納する配列を生成して返します。
- int[ ] color(int hexCode)
- 16進数カラーコード値から、色成分(不透明色)を格納する配列を生成して返します。例として、青色である 0000ff を変換するには:int rgba[] = color(0x0000ff);などとします。0x は整数を16進数表記したい場合に付加するプレフィックスです。
- int getColorCode(int rgba[ ])
- 色成分の配列を、カラーコード値に変換して返します。例として、紫色(マゼンタ)をカラーコードに変換するには:int rgba[] = { 255, 0, 255, 255 };int colorCode = getColorCode(rgba);string hexCode = hex(colorCode);などとします。変数 hexCode に得られる結果は 0xff00ff です。なお、緑色の場合は 0xff00、青色の場合は 0xff を得ます。より一般的なカラーコード形式に整形するには、先頭の 0x を除去し、6桁になるよう左からゼロ詰めなどを行ってください。そういった文字列処理には Text ライブラリを使用すると便利です。
構造体 - Structs
- なし - None -
変数 - Variables
文法的定義 - Signature |
const int BLACK[ ] |
変数名 - Name |
BLACK |
役割 - Role |
黒色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int WHITE[ ] |
変数名 - Name |
WHITE |
役割 - Role |
白色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int RED[ ] |
変数名 - Name |
RED |
役割 - Role |
赤色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int GREEN[ ] |
変数名 - Name |
GREEN |
役割 - Role |
緑色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int BLUE[ ] |
変数名 - Name |
BLUE |
役割 - Role |
青色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int MAGENTA[ ] |
変数名 - Name |
MAGENTA |
役割 - Role |
紫色(マゼンタ)の色成分を格納する配列です。 |
文法的定義 - Signature |
const int YELLOW[ ] |
変数名 - Name |
YELLOW |
役割 - Role |
黄色の色成分を格納する配列です。 |
文法的定義 - Signature |
const int CYAN[ ] |
変数名 - Name |
CYAN |
役割 - Role |
水色(シアン)の色成分を格納する配列です。 |
関数 - Functions
文法的定義 - Signature |
int[ ] color(int red, int green, int blue, int alpha) |
関数名 - Name |
color |
役割 - Role |
0 〜 255 の整数RGBA値から、色成分を格納する配列を生成して返します。 |
引数 - Arguments |
(int型) red : 赤色成分(0〜255)。 (int型) green : 緑色成分(0〜255)。 (int型) blue : 青色成分(0〜255)。 (int型) alpha : 不透明度成分(0〜255)。 |
戻り値 - Return |
(int[]型) 色成分を格納する配列。 |
文法的定義 - Signature |
int[ ] color(int red, int green, int blue) |
関数名 - Name |
color |
役割 - Role |
0 〜 255 の整数RGB値から、色成分(不透明色)を格納する配列を生成して返します。 |
引数 - Arguments |
(int型) red : 赤色成分(0〜255)。 (int型) green : 緑色成分(0〜255)。 (int型) blue : 青色成分(0〜255)。 |
戻り値 - Return |
(int[]型) 色成分を格納する配列。 |
文法的定義 - Signature |
int[ ] color(float red, float green, float blue, float alpha) |
関数名 - Name |
color |
役割 - Role |
0.0 〜 1.0 の小数RGBA値から、色成分を格納する配列を生成して返します。 |
引数 - Arguments |
(float型) red : 赤色成分(0.0 〜 1.0)。 (float型) green : 緑色成分(0.0 〜 1.0)。 (float型) blue : 青色成分(0.0 〜 1.0)。 (float型) alpha : 不透明度成分(0.0 〜 1.0)。 |
戻り値 - Return |
(int[]型) 色成分を格納する配列。 |
文法的定義 - Signature |
int[ ] color(float red, float green, float blue) |
関数名 - Name |
color |
役割 - Role |
0.0 〜 1.0 の小数RGB値から、色成分(不透明色)を格納する配列を生成して返します。 |
引数 - Arguments |
(float型) red : 赤色成分(0.0 〜 1.0)。 (float型) green : 緑色成分(0.0 〜 1.0)。 (float型) blue : 青色成分(0.0 〜 1.0)。 |
戻り値 - Return |
(int[]型) 色成分を格納する配列。 |
文法的定義 - Signature |
int[ ] color(int hexCode) |
関数名 - Name |
color |
役割 - Role |
16進数カラーコード値から、色成分(不透明色)を格納する配列を生成して返します。 例として、青色である 0000ff を変換するには: int rgba[] = color(0x0000ff); などとします。0x は整数を16進数表記したい場合に付加するプレフィックスです。 |
引数 - Arguments |
red : 赤色成分(0.0 〜 1.0)。 green : 緑色成分(0.0 〜 1.0)。 blue : 青色成分(0.0 〜 1.0)。 |
戻り値 - Return |
(int[]型) 色成分を格納する配列。 |
文法的定義 - Signature |
int getColorCode(int rgba[ ]) |
関数名 - Name |
getColorCode |
役割 - Role |
色成分の配列を、カラーコード値に変換して返します。例として、紫色(マゼンタ)をカラーコードに変換するには: int rgba[] = { 255, 0, 255, 255 }; int colorCode = getColorCode(rgba); string hexCode = hex(colorCode); などとします。変数 hexCode に得られる結果は 0xff00ff です。なお、緑色の場合は 0xff00、青色の場合は 0xff を得ます。より一般的なカラーコード形式に整形するには、先頭の 0x を除去し、6桁になるよう左からゼロ詰めなどを行ってください。そういった文字列処理には Text ライブラリを使用すると便利です。 |
引数 - Arguments |
rgba[] : 色成分を格納する配列。[0] が赤色成分、[1] が緑色成分、[2] が青色成分、[3] がα値成分。色成分はそれぞれ 0 〜 255 の範囲ですが、α値成分は必ず 255 (不透明)でなくてはいけません。 |
戻り値 - Return |
(int型) カラーコード値の整数。16進数の文字列に変換するには hex 関数を使用します。 |