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[ ]
変数名
- 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 関数を使用します。


スポンサーリンク



この階層の目次
RINEARN からのお知らせ
※ VCSSL は RINEARN が開発しています。

リニアングラフやVCSSLの最新版をリリース、目盛りの位置や内容を自由に指定可能に!
2024-11-24 - リニアングラフ3D/2Dを更新し、自由な位置に、自由な表記内容の目盛りを描けるようになりました! 併せて、Java言語やVCSSLでの、プログラム制御用APIも拡張しています。詳細をお知らせします。

Exevalator 2.2 をリリース、TypeScript 対応によりWebブラウザ上で動作可能に
2024-10-22 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。新たに TypeScript に対応し、Webブラウザ上での式計算にも使えるようになりました。詳細を解説します。

アシスタントAI作成の舞台裏(その2、作成編)
2024-10-12 - アシスタントAIの作成方法解説の後編です。実際にChatGPTの「GPTs」機能を用いて、アシスタントAIを作成する手順や、独自の知識をもたせたり、精度を出すためのノウハウなどを解説しています。

アシスタントAI作成の舞台裏(その1、基礎知識編)
2024-10-07 - アシスタントAI作成方法解説の前編です。今回はまず、アシスタントAIを作る前に抑えておきたい、基礎知識を延々と解説しています。そもそもLLM型AIとはどんな存在か? RAGとは何か? 等々です。

ソフトの利用をサポートしてくれるアシスタントAIを提供開始!
2024-09-20 - RINEARN製ソフトの使い方の質問応答や、一部作業のお手伝いをしてくれる、アシスタントAIを提供開始しました。ChatGPTアカウントさえあれば、誰でも無料で使用できます。使い方を解説します。

Exevalator 2.1 をリリース、新たに Visual Basic に対応
2024-07-28 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。今回から、新たに Visual Basic(VB.NET)でも使用できるようになりました。詳細を解説します。

関数電卓 RINPn(りんぷん)、Esc キーで計算式の一発クリアが可能に
2024-07-20 - 関数電 RINPn の Ver.1.0.2 をリリースしました。今回から、キーボードの「 Esc 」キーを押すと、入力中の計算式を一発でクリアできるようになりました。詳細を解説します。

Exevalator 2.0 をリリース、互換性に注意が必要なバグ修正が 1 件
2024-07-14 - オープンソースの式計算ライブラリ「Exevalator (エグゼバレータ)」の2.0をリリースしました。今回の更新では、互換性に注意を要する 1 件のバグ修正があります。詳細を解説します。

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024-02-05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024-01-17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

新着
[公式ガイドサンプル] 各種の図形や画像を描画する

「VCSSL 2DCG開発ガイド」内のサンプルコードです。図形や画像などを描画します。
2022-12-16
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
2022-11-22
[公式ガイドサンプル] 立体モデルを回転させるアニメーション

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます
2022-11-18
[公式ガイドサンプル] 立体モデルを回転させる

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。
2022-11-17
[公式ガイドサンプル] 四則演算の計算順序や、カッコを使った順序指定

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022-10-31