Graphics ライブラリ


概要 - Abstract

VCSSL Graphics ライブラリ は、VCSSLで描画を扱うための標準ライブラリの一つです。

VCSSLにおける描画関連の標準ライブラリには、Graphics、Graphics2D、Graphics3D ライブラリの 3 つが存在します。
その中で、Graphics ライブラリは描画用リソースの管理機能を提供し、Graphics2D 及び Graphics3D ライブラリは実際の描画機能を提供します。

描画を行うためには、イメージやバッファ、ストリームなどのリソースが必要となります。
いくつかの(恐らく多くの)言語では、これらは独立なオブジェクトとして扱う事が多いですが、VCSSLではこれらを一つにまとめて「 グラフィックスデータ 」として扱います。
つまりVCSSLでは、アニメーションでリアルタイムに3DCGを描画するためのバッファ領域も、画像ファイルから読み込んだ固定的なイメージも、区別せずに「 グラフィックスデータ 」として扱います。

Graphics ライブラリが提供するのは、この「 グラフィックスデータ 」の生成や破棄、入出力、及び初等的な加工などの管理機能です。
例として、画像ファイル「 input.png 」を読み込み、黒色の部分を透明にして「 output.png 」に出力するには、以下のようにします。

int g1 = newGraphics("input.png"); // 画像ファイルからグラフィックスデータ g1 を生成
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 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()
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、サイズが0ピクセルのイメージを保持します。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics( string filePath )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、画像ファイルから読み込んだイメージがあらかじめ描き込まれています。
引数
- Arguments
filePath : 画像ファイルの名称またはパス。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics( int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。
引数
- Arguments
red[][] : ピクセルの赤色成分([Y][X]、0 ~ 255)。
green[][] : ピクセルの緑色成分([Y][X]、0 ~ 255)。
blue[][] : ピクセルの青色成分([Y][X]、0 ~ 255)。
alpha[][] : ピクセルのα値成分([Y][X]、0 ~ 255)。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics( int rgba[ ][ ][ ] )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、ピクセル配列から読み込んだイメージがあらかじめ描き込まれています。
引数
- Arguments
rgba[][][] : ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics( int baseGraphics, int fromRed, int fromGreen, int fromBlue, int fromAlpha, int toRed, int toGreen, int toBlue, int toAlpha )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。
引数
- Arguments
baseGraphics : 変換元のイメージを保持するグラフィックスデータのグラフィックスデータID。
fromRed : 変換対象の色の赤色成分(0 ~ 255)。
fromGreen : 変換対象の色の青色成分(0 ~ 255)。
fromBlue : 変換対象の色の緑色成分(0 ~ 255)。
fromAlpha : 変換対象の色のα値成分(0 ~ 255)。
toRed : 変換後の色の赤色成分(0 ~ 255)。
toGreen : 変換後の色の青色成分(0 ~ 255)。
toBlue : 変換後の色の緑色成分(0 ~ 255)。
toAlpha : 変換後の色のα値成分(0 ~ 255)。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics( int baseGraphics, int fromColor[ ], int toColor[ ] )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、別のグラフィックスデータの特定色を、別の色に変換したイメージがあらかじめ描き込まれています。
引数
- Arguments
baseGraphics : 変換元のイメージを保持するグラフィックスデータのID。
fromColor : 変換対象の色の成分を格納する配列。
toColor : 変換後の色の成分を格納する配列。
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
int newGraphics ( int baseGraphics, int cropX, int cropY, int cropWidth, int cropHeight )
詳細
- Details
グラフィックスデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
この関数で生成したグラフィックスデータは、別のグラフィックスデータの一部を抜き出した内容があらかじめ描き込まれています。
引数
- Arguments
baseGraphics : 元のイメージを保持するグラフィックスデータのID。
cropX : 元の画像から抜き出す領域の左上頂点X座標
cropY : 元の画像から抜き出す領域の左上頂点Y座標
cropWidth : 元の画像から抜き出す領域の幅
cropHeight : 元の画像から抜き出す領域の高さ
戻り値
- Return
生成したグラフィックスデータに割り振られたグラフィックスデータID(識別番号)。
定義
- Signature
void deleteGraphics( int id )
詳細
- Details
グラフィックスデータを破棄します。
引数
- Arguments
id : 対象グラフィックスデータのID。
定義
- Signature
int getGraphicsWidth( int id )
詳細
- Details
グラフィックスデータが保持するイメージの幅(ピクセル数)を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
対象グラフィックスデータの幅(ピクセル数)。 :
定義
- Signature
int getGraphicsHeight( int id )
詳細
- Details
グラフィックスデータが保持するイメージの高さ(ピクセル数)を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
対象グラフィックスデータの高さ(ピクセル数)。 :
定義
- Signature
void exportGraphics( int id, string name, string format )
詳細
- Details
グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。
引数
- Arguments
id : 対象グラフィックスデータのID。
name : 出力ファイル名。
format : 出力ファイルの形式。"JPEG" または "PNG"、もしくは "BMP" を指定します。
定義
- Signature
void exportGraphics( int id, string name, string format, double quality )
詳細
- Details
グラフィックスデータが保持するイメージを、画像ファイルに変換して出力します。
引数
- Arguments
id : 対象グラフィックスデータのID。
name : 出力ファイル名。
format : 出力ファイルの形式。"JPEG" または "PNG"、もしくは "BMP" を指定します。
quality : 画質(0.0 ~ 100.0)。JPEG の場合に有効です。大きいほど高画質です。
定義
- Signature
void setGraphicsPixel( int id, int red[ ][ ], int green[ ][ ], int blue[ ][ ], int alpha[ ][ ] )
詳細
- Details
グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。
引数
- Arguments
id : 対象グラフィックスデータのID。
red[][] : ピクセルの赤色成分([Y][X]、0 ~ 255)。
green[][] : ピクセルの緑色成分([Y][X]、0 ~ 255)。
blue[][] : ピクセルの青色成分([Y][X]、0 ~ 255)。
alpha[][] : ピクセルのα値成分([Y][X]、0 ~ 255)。
定義
- Signature
void setGraphicsPixel( int id, int rgba[ ][ ][ ] )
詳細
- Details
グラフィックスデータの保持するイメージを、指定されたピクセル配列で描きかえます。
引数
- Arguments
id : 対象グラフィックスデータのID。
rgba[][][] : ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。
定義
- Signature
int[ ][ ][ ] getGraphicsPixel( int id )
詳細
- Details
イメージの全ピクセル色成分を格納する配列を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
戻り値
- Return
ピクセルの色成分([Y][X][色成分インデックス]、色成分インデックスは「0=赤 / 1=緑 / 2=青 / 3=α」、値の範囲は0 ~ 255)。
定義
- Signature
int[ ][ ] getGraphicsPixelRed( int id )
詳細
- Details
イメージの全ピクセルについて、赤色成分のみを格納する配列を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
戻り値
- Return
ピクセルの赤色成分([Y][X]、値の範囲は0 ~ 255)。
定義
- Signature
int[ ][ ] getGraphicsPixelGreen( int id )
詳細
- Details
イメージの全ピクセルについて、緑色成分のみを格納する配列を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
戻り値
- Return
ピクセルの緑色成分([Y][X]、値の範囲は0 ~ 255)。
定義
- Signature
int[ ][ ] getGraphicsPixelBlue( int id )
詳細
- Details
イメージの全ピクセルについて、青色成分のみを格納する配列を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
戻り値
- Return
ピクセルの青色成分([Y][X]、値の範囲は0 ~ 255)。
定義
- Signature
int[ ][ ] getGraphicsPixelAlpha( int id )
詳細
- Details
イメージの全ピクセルについて、α値成分のみを格納する配列を返します。
引数
- Arguments
id : 対象グラフィックスデータのID。
戻り値
- Return
ピクセルのα値成分([Y][X]、値の範囲は0 ~ 255)。


スポンサーリンク



スポンサーリンク

この階層の目次
お知らせ

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

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

RINEARNのソフトウェア向けにOpenJDKで生成したJava実行環境(JRE)の提供を開始
2019年02月06日 - Javaのリリースモデル変更への対応として、OpenJDKのjlinkツールを用いて、RINEARNのソフトウェア実行用に生成したJava実行環境(JRE)の提供を開始しました。その詳細と、今後の方針について解説します。

新着
画像の矩形(四角形)領域を切り抜く簡易ツール(複数ファイル一括処理版)

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

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

画面上で数式を入力すると、それを数値的に積分し、値とグラフを表示してくれるGUIツールです。
2019年01月20日
z = f(x,y,t) の形の数式を3Dグラフとしてアニメーション描画するツール

入力欄に z = f(x,y,t) の形の数式を入力すると、それを3次元のグラフにアニメーション描画してくれる簡易ツールです。
2018年11月26日
y = f(x,t) の形の数式を2Dグラフとしてアニメーション描画するツール

入力欄に y = f(x,t) の形の数式を入力すると、それを2次元のグラフにアニメーション描画してくれる簡易ツールです。
2018年11月25日
開発元Twitterアカウント