Graphics ライブラリ
概要 - Abstract
VCSSL Graphics ライブラリ は、VCSSLで描画を扱うための標準ライブラリの一つです。
VCSSLにおける描画関連の標準ライブラリには、Graphics、Graphics2D、Graphics3D ライブラリの 3 つが存在します。
その中で、Graphics ライブラリは描画用リソースの管理機能を提供し、Graphics2D 及び Graphics3D ライブラリは実際の描画機能を提供します。
描画を行うためには、イメージやバッファ、ストリームなどのリソースが必要となります。
いくつかの(恐らく多くの)言語では、これらは独立なオブジェクトとして扱う事が多いですが、VCSSLではこれらを一つにまとめて「 グラフィックスデータ 」として扱います。
つまりVCSSLでは、アニメーションでリアルタイムに3DCGを描画するためのバッファ領域も、画像ファイルから読み込んだ固定的なイメージも、区別せずに「 グラフィックスデータ 」として扱います。
Graphics ライブラリが提供するのは、この「 グラフィックスデータ 」の生成や破棄、入出力、及び初等的な加工などの管理機能です。
例として、画像ファイル「 input.png 」を読み込み、黒色の部分を透明にして「 output.png 」に出力するには、以下のようにします。
int g2 = newGraphics(g1, 0,0,0,255, 0,0,0,0); // g1 の黒色を透明にしたグラフィックスデータ g2 を生成
exportGraphics(g2, "output.png", "PNG"); // g2 を画像ファイルに出力
deleteGraphics(g1); // g1 を破棄
deleteGraphics(g2); // g2 を破棄
他にも、ラスタデータ(ピクセル配列)を直接操作して、初歩的な加工や描画などを行う機能が提供されます。
より高度な描画を行うには、Graphics2D 及び Graphics3D ライブラリを併せて使用してください。
目次 - Index
- int newGraphics()
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、サイズが0ピクセルのイメージを保持します。
- int newGraphics( string filePath )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、画像ファイルから読み込んだイメージがあらかじめ描き込まれています。
- int newGraphics( int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。
- int newGraphics( int rgba[ ][ ][ ] )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。
- int newGraphics( int baseGraphics, int fromRed, int fromGreen, int fromBlue, int fromAlpha, int toRed, int toGreen, int toBlue, int toAlpha )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。
- int newGraphics( int baseGraphics, int fromColor[ ], int toColor[ ] )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。
- int newGraphics ( int baseGraphics, int width, int height, bool antialiasing )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、別のグラフィックスデータを拡大・縮小した内容があらかじめ描き込まれています。
- int newGraphics ( int baseGraphics, int cropX, int cropY, int cropWidth, int cropHeight )
- グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。この関数で生成したグラフィックスデータは、別のグラフィックスデータの一部を抜き出した内容があらかじめ描き込まれています。
- void deleteGraphics( int id )
- グラフィックスデータを破棄します。
- int getGraphicsWidth( int id )
- グラフィックスデータが保持するイメージの幅(ピクセル数)を返します。
- int getGraphicsHeight( int id )
- グラフィックスデータが保持するイメージの高さ(ピクセル数)を返します。
- void exportGraphics( int id, string name, string format )
- グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。
- void exportGraphics( int id, string name, string format, double quality )
- グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。
- void setGraphicsPixel( int id, int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] )
- グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。
- void setGraphicsPixel( int id, int rgba[ ][ ][ ] )
- グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。
- int[ ][ ][ ] getGraphicsPixel( int id )
- イメージの全ピクセル色成分を格納する配列を返します。
- int[ ][ ] getGraphicsPixelRed( int id )
- イメージの全ピクセルについて、赤色成分のみを格納する配列を返します。
- int[ ][ ] getGraphicsPixelGreen( int id )
- イメージの全ピクセルについて、緑色成分のみを格納する配列を返します。
- int[ ][ ] getGraphicsPixelBlue( int id )
- イメージの全ピクセルについて、青色成分のみを格納する配列を返します。
- int[ ][ ] getGraphicsPixelAlpha( int id )
- イメージの全ピクセルについて、α値成分のみを格納する配列を返します。
構造体 - Structs
- なし - None -
変数 - Variables
- なし - None -
関数 - Functions
文法的定義 - Signature |
int newGraphics() |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、サイズが0ピクセルのイメージを保持します。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics( string filePath ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、画像ファイルから読み込んだイメージがあらかじめ描き込まれています。 |
引数 - Arguments |
(string型) filePath : 画像ファイルの名称またはパス。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics( int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。 |
引数 - Arguments |
red[][] : ピクセルの赤色成分([Y][X]、0 ~ 255)。 green[][] : ピクセルの緑色成分([Y][X]、0 ~ 255)。 blue[][] : ピクセルの青色成分([Y][X]、0 ~ 255)。 alpha[][] : ピクセルのα値成分([Y][X]、0 ~ 255)。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics( int rgba[ ][ ][ ] ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。 |
引数 - Arguments |
rgba[][][] : ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics( int baseGraphics, int fromRed, int fromGreen, int fromBlue, int fromAlpha, int toRed, int toGreen, int toBlue, int toAlpha ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。 |
引数 - Arguments |
(int型) baseGraphics : 変換元のイメージを保持するグラフィックスデータのグラフィックスデータID。 (int型) fromRed : 変換対象の色の赤色成分(0 ~ 255)。 (int型) fromGreen : 変換対象の色の青色成分(0 ~ 255)。 (int型) fromBlue : 変換対象の色の緑色成分(0 ~ 255)。 (int型) fromAlpha : 変換対象の色のα値成分(0 ~ 255)。 (int型) toRed : 変換後の色の赤色成分(0 ~ 255)。 (int型) toGreen : 変換後の色の青色成分(0 ~ 255)。 (int型) toBlue : 変換後の色の緑色成分(0 ~ 255)。 (int型) toAlpha : 変換後の色のα値成分(0 ~ 255)。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics( int baseGraphics, int fromColor[ ], int toColor[ ] ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。 |
引数 - Arguments |
(int型) baseGraphics : 変換元のイメージを保持するグラフィックスデータのID。 (int[]型) fromColor : 変換対象の色の成分を格納する配列。 (int[]型) toColor : 変換後の色の成分を格納する配列。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics ( int baseGraphics, int width, int height, bool antialiasing ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、別のグラフィックスデータを拡大・縮小した内容があらかじめ描き込まれています。 |
引数 - Arguments |
(int型) baseGraphics : 元のイメージを保持するグラフィックスデータのID。 (int型) width : 生成するグラフィックスデータの幅(元のイメージをこの幅に拡大・縮小) (int型) height : 生成するグラフィックスデータの高さ(元のイメージをこの高さに拡大・縮小) (bool型) antialiasing : 拡大・縮小結果を滑らかにするかどうか。true を指定すると滑らかになりますが、処理時間が増加します。 |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
int newGraphics ( int baseGraphics, int cropX, int cropY, int cropWidth, int cropHeight ) |
関数名 - Name |
newGraphics |
役割 - Role |
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。 この関数で生成したグラフィックスデータは、別のグラフィックスデータの一部を抜き出した内容があらかじめ描き込まれています。 |
引数 - Arguments |
(int型) baseGraphics : 元のイメージを保持するグラフィックスデータのID。 (int型) cropX : 元の画像から抜き出す領域の左上頂点X座標 (int型) cropY : 元の画像から抜き出す領域の左上頂点Y座標 (int型) cropWidth : 元の画像から抜き出す領域の幅 (int型) cropHeight : 元の画像から抜き出す領域の高さ |
戻り値 - Return |
(int型) 生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。 |
文法的定義 - Signature |
void deleteGraphics( int id ) |
関数名 - Name |
deleteGraphics |
役割 - Role |
グラフィックスデータを破棄します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(void型) |
文法的定義 - Signature |
int getGraphicsWidth( int id ) |
関数名 - Name |
getGraphicsWidth |
役割 - Role |
グラフィックスデータが保持するイメージの幅(ピクセル数)を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 対象グラフィックスデータの幅(ピクセル数)。 : |
戻り値 - Return |
(int型) |
文法的定義 - Signature |
int getGraphicsHeight( int id ) |
関数名 - Name |
getGraphicsHeight |
役割 - Role |
グラフィックスデータが保持するイメージの高さ(ピクセル数)を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 対象グラフィックスデータの高さ(ピクセル数)。 : |
戻り値 - Return |
(int型) |
文法的定義 - Signature |
void exportGraphics( int id, string name, string format ) |
関数名 - Name |
exportGraphics |
役割 - Role |
グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 (string型) name : 出力ファイル名。 (string型) format : 出力ファイルの形式。"JPEG" または "PNG"、もしくは "BMP" を指定します。 |
戻り値 - Return |
(void型) |
文法的定義 - Signature |
void exportGraphics( int id, string name, string format, double quality ) |
関数名 - Name |
exportGraphics |
役割 - Role |
グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 (string型) name : 出力ファイル名。 (string型) format : 出力ファイルの形式。"JPEG" または "PNG"、もしくは "BMP" を指定します。 (double型) quality : 画質(0.0 ~ 100.0)。JPEG の場合に有効です。大きいほど高画質です。 |
戻り値 - Return |
(void型) |
文法的定義 - Signature |
void setGraphicsPixel( int id, int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] ) |
関数名 - Name |
setGraphicsPixel |
役割 - Role |
グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 red[][] : ピクセルの赤色成分([Y][X]、0 ~ 255)。 green[][] : ピクセルの緑色成分([Y][X]、0 ~ 255)。 blue[][] : ピクセルの青色成分([Y][X]、0 ~ 255)。 alpha[][] : ピクセルのα値成分([Y][X]、0 ~ 255)。 |
戻り値 - Return |
(void型) |
文法的定義 - Signature |
void setGraphicsPixel( int id, int rgba[ ][ ][ ] ) |
関数名 - Name |
setGraphicsPixel |
役割 - Role |
グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 rgba[][][] : ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。 |
戻り値 - Return |
(void型) |
文法的定義 - Signature |
int[ ][ ][ ] getGraphicsPixel( int id ) |
関数名 - Name |
getGraphicsPixel |
役割 - Role |
イメージの全ピクセル色成分を格納する配列を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(int[][][]型) ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。 |
文法的定義 - Signature |
int[ ][ ] getGraphicsPixelRed( int id ) |
関数名 - Name |
getGraphicsPixelRed |
役割 - Role |
イメージの全ピクセルについて、赤色成分のみを格納する配列を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(int[][]型) ピクセルの赤色成分([Y][X]、値の範囲は0 ~ 255)。 |
文法的定義 - Signature |
int[ ][ ] getGraphicsPixelGreen( int id ) |
関数名 - Name |
getGraphicsPixelGreen |
役割 - Role |
イメージの全ピクセルについて、緑色成分のみを格納する配列を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(int[][]型) ピクセルの緑色成分([Y][X]、値の範囲は0 ~ 255)。 |
文法的定義 - Signature |
int[ ][ ] getGraphicsPixelBlue( int id ) |
関数名 - Name |
getGraphicsPixelBlue |
役割 - Role |
イメージの全ピクセルについて、青色成分のみを格納する配列を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(int[][]型) ピクセルの青色成分([Y][X]、値の範囲は0 ~ 255)。 |
文法的定義 - Signature |
int[ ][ ] getGraphicsPixelAlpha( int id ) |
関数名 - Name |
getGraphicsPixelAlpha |
役割 - Role |
イメージの全ピクセルについて、α値成分のみを格納する配列を返します。 |
引数 - Arguments |
(int型) id : 対象グラフィックスデータのID。 |
戻り値 - Return |
(int[][]型) ピクセルのα値成分([Y][X]、値の範囲は0 ~ 255)。 |