FineKernelToolKit 4.2.13
|
画像を生成、管理するクラス [詳解]
#include <CLI/FK_CLI/include/Image_CLI.h>
公開メンバ関数 | |
fk_Image () | |
コンストラクタ1 | |
fk_Image (int W, int H) | |
コンストラクタ | |
~fk_Image () | |
デストラクタ | |
!fk_Image () | |
ファイナライザ | |
void | Init (void) |
初期化メソッド | |
void | NewImage (int w, int h, bool initFlg) |
画像領域生成メソッド1 | |
void | NewImage (int w, int h) |
画像領域生成メソッド2 | |
void | CopyImage (fk_Image^ image) |
画像データコピーメソッド1 | |
void | CopyImage (fk_Image^ image, int x, int y) |
画像データコピーメソッド2 | |
bool | SubImage (fk_Image^ image, int x, int y, int w, int h) |
画像データ部分抽出メソッド | |
int | GetR (int x, int y) |
ピクセルR要素取得メソッド | |
int | GetG (int x, int y) |
ピクセルG要素取得メソッド | |
int | GetB (int x, int y) |
ピクセルB要素取得メソッド | |
int | GetA (int x, int y) |
ピクセルA要素取得メソッド | |
bool | SetRGBA (int x, int y, int r, int g, int b, int a) |
ピクセル RGBA 値設定メソッド | |
bool | SetRGB (int x, int y, int r, int g, int b) |
ピクセル RGB 値設定メソッド | |
bool | SetR (int x, int y, int r) |
ピクセル R 値設定メソッド | |
bool | SetG (int x, int y, int g) |
ピクセル G 値設定メソッド | |
bool | SetB (int x, int y, int b) |
ピクセル B 値設定メソッド | |
bool | SetA (int x, int y, int a) |
ピクセル A 値設定メソッド | |
void | FillColor (fk_Color^ color) |
バッファ全体初期化メソッド1 | |
void | FillColor (int r, int g, int b, int a) |
バッファ全体初期化メソッド2 | |
void | FillColor (int r, int g, int b) |
バッファ全体初期化メソッド3 | |
bool | ReadBMP (String^ fileName) |
BMP ファイル入力メソッド | |
bool | ReadPNG (String^ fileName) |
PNG ファイル入力メソッド | |
bool | ReadJPG (String^ fileName) |
JPEG ファイル入力メソッド | |
bool | WriteBMP (String^ fileName, bool transFlg) |
BMP ファイル出力メソッド1 | |
bool | WriteBMP (String^ fileName) |
BMP ファイル出力メソッド2 | |
bool | WritePNG (String^ fileName, bool transFlg) |
PNG ファイル出力メソッド1 | |
bool | WritePNG (String^ fileName) |
PNG ファイル出力メソッド2 | |
bool | WriteJPG (String^ fileName, int quality) |
JPEG ファイル出力メソッド1 | |
bool | WriteJPG (String^ fileName) |
JPEG ファイル出力メソッド2 | |
プロパティ | |
fk_Color^ | default [int, int] [get, set] |
画素プロパティ | |
fk_Dimension^ | Size [get] |
画像サイズプロパティ | |
fk_Dimension^ | BufferSize [get] |
画像バッファサイズプロパティ | |
画像を生成、管理するクラス
このクラスは、画像データを制御する機能を提供します。 主な利用用途はテクスチャ画像の管理ですが、 画像処理のための基本的な機能を保持しています。 画像データは RGBA 形式で保存されます。 各要素は整数値で最小値は 0、最大値は 255 です。 透過色要素は 0 が完全な透明、255 が完全な不透明を表します。 現バージョンのピクセルサイズの最大値は縦幅横幅共に 65536 までです。
実際の画像サイズと、格納するデータについての関係は BufferSize プロパティの覚え書きを参照して下さい。
FK_CLI::fk_Image::fk_Image | ( | ) |
コンストラクタ1
空画像を生成します。
FK_CLI::fk_Image::fk_Image | ( | int | W, |
int | H | ||
) |
コンストラクタ
[in] | W | 画像の横幅 |
[in] | H | 画像の縦幅 |
FK_CLI::fk_Image::~fk_Image | ( | ) |
デストラクタ
FK_CLI::fk_Image::!fk_Image | ( | ) |
ファイナライザ
void FK_CLI::fk_Image::Init | ( | void | ) |
初期化メソッド
画像データを初期化します。 画像サイズも (0, 0) となります。
void FK_CLI::fk_Image::NewImage | ( | int | w, |
int | h, | ||
bool | initFlg | ||
) |
画像領域生成メソッド1
画像データを与えられたサイズに従って生成します。
[in] | w | 画像の横幅 |
[in] | h | 画像の縦幅 |
[in] | initFlg | true の場合は、 データ全体を色値 (0, 0, 0, 0) で初期化します。 false の場合は初期化を行いませんが、 その場合でも横幅が変更されたときは 各ピクセルの縦横関係が崩れてしまう可能性があります。 |
void FK_CLI::fk_Image::NewImage | ( | int | w, |
int | h | ||
) |
画像領域生成メソッド2
画像データを与えられたサイズに従って生成します。 データ全体の色値は (0, 0, 0, 0) で初期化します。
[in] | w | 画像の横幅 |
[in] | h | 画像の縦幅 |
void FK_CLI::fk_Image::CopyImage | ( | fk_Image^ | image | ) |
画像データコピーメソッド1
画像データを別インスタンスからコピーします。 この引数形式の場合、画像サイズは元画像データと同一となります。
[in] | image | 元画像インスタンス |
void FK_CLI::fk_Image::CopyImage | ( | fk_Image^ | image, |
int | x, | ||
int | y | ||
) |
画像データコピーメソッド2
画像データの部分矩形領域を、別インスタンスの画像データ内容に書き換えます。 この引数形式では、画像中の一部分となる任意領域を書き換えることが可能ですが、 コピー元となる画像全体がコピー先の中に完全に収まるような配置である必要があります。 この条件を満たさなかった場合は、データの書き換えを行いません。 配置の際の座標系は fk_Rect の座標系に従います。
[in] | image | 元画像インスタンス |
[in] | x | 書き換え領域左上の x 座標 |
[in] | y | 書き換え領域左上の y 座標 |
bool FK_CLI::fk_Image::SubImage | ( | fk_Image^ | image, |
int | x, | ||
int | y, | ||
int | w, | ||
int | h | ||
) |
画像データ部分抽出メソッド
別インスタンス中にある画像データの部分矩形領域をコピーします。 指定した矩形領域は全て元画像内に収まっている必要があります。 領域の座標系は fk_Rect の座標系に従います。
[in] | image | 元画像インスタンス |
[in] | x | 抽出矩形領域左上の x 座標 |
[in] | y | 抽出矩形領域左上の y 座標 |
[in] | w | 抽出矩形領域の横幅 |
[in] | h | 抽出矩形領域の縦幅 |
int FK_CLI::fk_Image::GetR | ( | int | x, |
int | y | ||
) |
ピクセルR要素取得メソッド
ピクセルのR(赤)要素値を取得します。 座標系は fk_Rect の座標系に従います。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
int FK_CLI::fk_Image::GetG | ( | int | x, |
int | y | ||
) |
ピクセルG要素取得メソッド
ピクセルのG(緑)要素値を取得します。 座標系は fk_Rect の座標系に従います。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
int FK_CLI::fk_Image::GetB | ( | int | x, |
int | y | ||
) |
ピクセルB要素取得メソッド
ピクセルのB(青)要素値を取得します。 座標系は fk_Rect の座標系に従います。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
int FK_CLI::fk_Image::GetA | ( | int | x, |
int | y | ||
) |
ピクセルA要素取得メソッド
ピクセルのA(透過度)要素値を取得します。 座標系は fk_Rect の座標系に従います。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
bool FK_CLI::fk_Image::SetRGBA | ( | int | x, |
int | y, | ||
int | r, | ||
int | g, | ||
int | b, | ||
int | a | ||
) |
ピクセル RGBA 値設定メソッド
ピクセルの RGBA 各色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | r | R(赤)要素値 |
[in] | g | G(赤)要素値 |
[in] | b | B(赤)要素値 |
[in] | a | A(赤)要素値 |
bool FK_CLI::fk_Image::SetRGB | ( | int | x, |
int | y, | ||
int | r, | ||
int | g, | ||
int | b | ||
) |
ピクセル RGB 値設定メソッド
ピクセルの RGB 各色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | r | R(赤)要素値 |
[in] | g | G(赤)要素値 |
[in] | b | B(赤)要素値 |
bool FK_CLI::fk_Image::SetR | ( | int | x, |
int | y, | ||
int | r | ||
) |
ピクセル R 値設定メソッド
ピクセルの R 色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | r | R(赤)要素値 |
bool FK_CLI::fk_Image::SetG | ( | int | x, |
int | y, | ||
int | g | ||
) |
ピクセル G 値設定メソッド
ピクセルの G 色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | g | G(緑)要素値 |
bool FK_CLI::fk_Image::SetB | ( | int | x, |
int | y, | ||
int | b | ||
) |
ピクセル B 値設定メソッド
ピクセルの B 色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | b | B(青)要素値 |
bool FK_CLI::fk_Image::SetA | ( | int | x, |
int | y, | ||
int | a | ||
) |
ピクセル A 値設定メソッド
ピクセルの A 色要素を設定します。 座標系は fk_Rect の座標系に従います。 値が 0 から 255 の範囲内になかった場合は、 上下限それぞれに丸められます。 座標が画像内になかった場合は、画像情報を変更しません。
[in] | x | ピクセルの x 座標 |
[in] | y | ピクセルの y 座標 |
[in] | a | A(透過度)要素値 |
void FK_CLI::fk_Image::FillColor | ( | fk_Color^ | color | ) |
バッファ全体初期化メソッド1
画像データ内の全てのピクセルを同一色で初期化します。 初期化の際には、実際の表示領域ではない部分についても更新を行います。 格納データについては BufferSize プロパティの覚え書きを参照して下さい。
[in] | color | 色要素値 |
void FK_CLI::fk_Image::FillColor | ( | int | r, |
int | g, | ||
int | b, | ||
int | a | ||
) |
バッファ全体初期化メソッド2
画像データ内の全てのピクセルを同一色で初期化します。 初期化の際には、実際の表示領域ではない部分についても更新を行います。 格納データについては BufferSize プロパティの覚え書きを参照して下さい。
[in] | r | R(赤)要素値 |
[in] | g | G(赤)要素値 |
[in] | b | B(赤)要素値 |
[in] | a | A(赤)要素値 |
void FK_CLI::fk_Image::FillColor | ( | int | r, |
int | g, | ||
int | b | ||
) |
バッファ全体初期化メソッド3
画像データ内の全てのピクセルを同一色で初期化します。 初期化の際には、実際の表示領域ではない部分についても更新を行います。 透過値は 0 に設定します。 格納データについては BufferSize の覚え書きを参照して下さい。
[in] | r | R(赤)要素値 |
[in] | g | G(赤)要素値 |
[in] | b | B(赤)要素値 |
bool FK_CLI::fk_Image::ReadBMP | ( | String^ | fileName | ) |
BMP ファイル入力メソッド
BMP (Windows Bitmap) 形式のファイルからデータを読み込みます。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_Image::ReadPNG | ( | String^ | fileName | ) |
PNG ファイル入力メソッド
PNG 形式のファイルからデータを読み込みます。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_Image::ReadJPG | ( | String^ | fileName | ) |
JPEG ファイル入力メソッド
JPEG 形式のファイルからデータを読み込みます。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_Image::WriteBMP | ( | String^ | fileName, |
bool | transFlg | ||
) |
BMP ファイル出力メソッド1
画像データを BMP (Windows Bitmap) 形式でファイルに保存します。
[in] | fileName | ファイル名 |
[in] | transFlg | true の場合、透過色要素をファイル中に書き出します。 透過色要素は本来 BMP 形式では標準でサポートされておらず、 FK によって利用する画像ファイルの独自拡張となっています。 ただし、透過色要素を埋め込んだ画像ファイルは一般のアプリケーションでも (透過色が追加されていないデータとして)読み込むことは可能です。 false の場合は、データ中の透過色要素をファイルには出力しません。 |
bool FK_CLI::fk_Image::WriteBMP | ( | String^ | fileName | ) |
BMP ファイル出力メソッド2
画像データを BMP (Windows Bitmap) 形式でファイルに保存します。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_Image::WritePNG | ( | String^ | fileName, |
bool | transFlg | ||
) |
PNG ファイル出力メソッド1
画像データを PNG 形式でファイルに保存します。
[in] | fileName | ファイル名 |
[in] | transFlg | true の場合、透過色要素をファイル中に書き出します。 false の場合は、データ中の透過色要素をファイルには出力しません。 |
bool FK_CLI::fk_Image::WritePNG | ( | String^ | fileName | ) |
PNG ファイル出力メソッド2
画像データを PNG 形式でファイルに保存します。
[in] | fileName | ファイル名 |
bool FK_CLI::fk_Image::WriteJPG | ( | String^ | fileName, |
int | quality | ||
) |
JPEG ファイル出力メソッド1
画像データを JPEG 形式でファイルに保存します。 なお、JPEG 形式は透過がサポートされていないので、 画像中に透過色データを出力することはできません。
[in] | fileName | ファイル名 |
[in] | quality | 画像の品質を設定します。 品質が高いほどファイルのサイズは大きくなります。 100 が最高品質、0 が最低品質となります。範囲外の数値が入力された場合、 上下限に丸められます。 |
bool FK_CLI::fk_Image::WriteJPG | ( | String^ | fileName | ) |
JPEG ファイル出力メソッド2
画像データを JPEG 形式でファイルに保存します。 なお、JPEG 形式は透過がサポートされていないので、 画像中に透過色データを出力することはできません。 本メソッドは WriteJPG(String^, int) において、 品質値を 80 に設定した場合と同一の挙動となります。
[in] | fileName | ファイル名 |
|
getset |
画素プロパティ
各画素色値の設定や参照を行います。
image[100, 100] = new fk_Color(0.3, 0.4, 0.5);
|
get |
画像サイズプロパティ
画像サイズの参照を行います。
|
get |
画像バッファサイズプロパティ
fk_Image では、本来の画像サイズに対し、 格納するデータ領域はより大きなものとなっています。 このプロパティは、実際に確保しているデータ領域の大きさを fk_Dimension 型で取得するものです。