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ライブラリの機能を使用しなくても、以下のようにして可能です:

setDrawColor( rendererID, 0, 0, 255, 255 );

しかし、Colorライブラリの機能を使用する事で、以下のように様々な形式で色設定ができるようになります:

setDrawColor( rendererID, BLUE ); // 定数で設定
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[ ]
詳細
- Details
黒色の色成分を格納する配列です。
定義
- Signature
const int WHITE[ ]
詳細
- Details
白色の色成分を格納する配列です。
定義
- Signature
const int RED[ ]
詳細
- Details
赤色の色成分を格納する配列です。
定義
- Signature
const int GREEN[ ]
詳細
- Details
緑色の色成分を格納する配列です。
定義
- Signature
const int BLUE[ ]
詳細
- Details
青色の色成分を格納する配列です。
定義
- Signature
const int MAGENTA[ ]
詳細
- Details
紫色(マゼンタ)の色成分を格納する配列です。
定義
- Signature
const int YELLOW[ ]
詳細
- Details
黄色の色成分を格納する配列です。
定義
- Signature
const int CYAN[ ]
詳細
- Details
水色(シアン)の色成分を格納する配列です。

関数 - Functions

定義
- Signature
int[ ] color(int red, int green, int blue, int alpha)
詳細
- Details
0 〜 255 の整数RGBA値から、色成分を格納する配列を生成して返します。
引数
- Arguments
red : 赤色成分(0〜255)。
green : 緑色成分(0〜255)。
blue : 青色成分(0〜255)。
alpha : 不透明度成分(0〜255)。
戻り値
- Return
色成分を格納する配列。
定義
- Signature
int[ ] color(int red, int green, int blue)
詳細
- Details
0 〜 255 の整数RGB値から、色成分(不透明色)を格納する配列を生成して返します。
引数
- Arguments
red : 赤色成分(0〜255)。
green : 緑色成分(0〜255)。
blue : 青色成分(0〜255)。
戻り値
- Return
色成分を格納する配列。
定義
- Signature
int[ ] color(float red, float green, float blue, float alpha)
詳細
- Details
0.0 〜 1.0 の小数RGBA値から、色成分を格納する配列を生成して返します。
引数
- Arguments
red : 赤色成分(0.0 〜 1.0)。
green : 緑色成分(0.0 〜 1.0)。
blue : 青色成分(0.0 〜 1.0)。
alpha : 不透明度成分(0.0 〜 1.0)。
戻り値
- Return
色成分を格納する配列。
定義
- Signature
int[ ] color(float red, float green, float blue)
詳細
- Details
0.0 〜 1.0 の小数RGB値から、色成分(不透明色)を格納する配列を生成して返します。
引数
- Arguments
red : 赤色成分(0.0 〜 1.0)。
green : 緑色成分(0.0 〜 1.0)。
blue : 青色成分(0.0 〜 1.0)。
戻り値
- Return
色成分を格納する配列。
定義
- Signature
int[ ] color(int hexCode)
詳細
- Details
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
色成分を格納する配列。
定義
- Signature
int getColorCode(int rgba[ ])
詳細
- Details
色成分の配列を、カラーコード値に変換して返します。例として、紫色(マゼンタ)をカラーコードに変換するには:
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
カラーコード値の整数。16進数の文字列に変換するには hex 関数を使用します。


スポンサーリンク



スポンサーリンク

この階層の目次
お知らせ

リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 - オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。

各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 - RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。

次回のVCSSL 3.4.10において、関数1個の挙動に非互換な修正が適用されます
2019年02月12日 - VCSSLの次回の正式リリース版3.4.10において、これまでドキュメントと実際の挙動が異なっていた描画系の関数1個に、非互換な修正が適用されます。その詳細と、使用コードでの対応方法について解説します。

新着
画像を任意サイズに拡大・縮小する簡易ツール(複数ファイル一括処理版)

フォルダ内にある全ての画像ファイルを開き、任意のサイズに拡大・縮小して、別のフォルダに保存する簡易ツールです。
2019年03月29日
画像を任意サイズに拡大・縮小する簡易ツール

画像ファイルを開き、任意のサイズに拡大・縮小して、別名で保存する簡易ツールです。
2019年03月28日
画像の矩形(四角形)領域を切り抜く簡易ツール(複数ファイル一括処理版)

フォルダ内にある全ての画像ファイルを開き、その中の矩形(四角形)領域を切り抜いて、別のフォルダに保存する簡易ツールです。
2019年03月15日
画像の矩形(四角形)領域を切り抜く簡易ツール

画像ファイルを開き、その中の矩形(四角形)領域を切り抜いて保存する簡易ツールです。
2019年03月14日
入力された数式を積分して値とグラフを表示するツール

画面上で数式を入力すると、それを数値的に積分し、値とグラフを表示してくれるGUIツールです。
2019年01月20日
開発元Twitterアカウント