DXフレームワーク　リファレンス・マニュアル 0.01 DXフレームワークのリファレンスです。詳細は公式wiki

- メインページ
- 関連ページ
- クラス
- ファイル

- 構成
- 構成索引
- クラス階層
- 構成メンバ

Public メソッド | Static Public メソッド | すべてのメンバ一覧
クラス DXFW::Filter

画像フィルタークラス [詳細]

`#include <Filter.h>`

## Public メソッド
bool | Invert (Image *処理イメージ)
bool | Invert (ImagePack *処理イメージ郡)
bool | Level (Image *処理イメージ, int 処理前下限, int 処理前上限, int 処理後下限, int 処理後上限, double ガンマ値)
bool | Level (ImagePack *処理イメージ郡, int 処理前下限, int 処理前上限, int 処理後下限, int 処理後上限, double ガンマ値)
bool | TwoColor (Image *処理イメージ, int 閾値, int 暗色, int 暗色α値, int 明色, int 明色α値)
bool | TwoColor (ImagePack *処理イメージ郡, int 閾値, int 暗色, int 暗色α値, int 明色, int 明色α値)
bool | GradientMap (Image *処理イメージ, const Image *入力イメージ, bool 反転フラグ)
bool | GradientMap (ImagePack *処理イメージ郡, const Image *入力イメージ, bool 反転フラグ)

## Static Public メソッド
static bool | Mono (Image *処理イメージ, int 青色差, int 赤色差)
| モノトーンフィルタ [詳細]
static bool | Mono (ImagePack *処理イメージ郡, int 青色差, int 赤色差)
static bool | Gauss (Image *処理イメージ, int 使用ピクセル幅, double ぼかし強さ)
static bool | Gauss (ImagePack *処理イメージ郡, int 使用ピクセル幅, double ぼかし強さ)
static bool | DownScale (Image *処理イメージ, int 分母)
| 縮小フィルタ [詳細]
static bool | DownScale (ImagePack *処理イメージ郡, int 分母)
static bool | BrightClip (Image *処理イメージ, ClipType cmpType, int cmpParam, int clipFillColor, int clipFillAlpha)
| 明るさクリップフィルタ [詳細]
static bool | BrightClip (ImagePack *処理イメージ郡, ClipType cmpType, int cmpParam, int clipFillColor, int clipFillAlpha)
static bool | Hsb (Image *処理イメージ, int 色相, double 彩度, double 明度)
| 色相・彩度・明度フィルタ [詳細]
static bool | Hsb (ImagePack *処理イメージ郡, int 色相, double 彩度, double 明度)
static bool | MonoHsb (Image *処理イメージ, int 色相, double 彩度, double 明度)
static bool | MonoHsb (ImagePack *処理イメージ郡, int 色相, double 彩度, double 明度)

## 説明

ImageやImagePackに対して画像編集ソフトにあるような、フィルター処理を施す。 [サンプルコード:未完成]
サンプル説明
`int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
if( !Dx::Initialise() ) return -1;
Dx::End();
return 0;
}
`

## 関数

static bool DXFW::Filter::Mono | ( | Image * | 処理イメージ,
|  | int | 青色差,
|  | int | 赤色差
| ) |  |
| inline static

画像をモノトーン調に変化させる。 各ピクセルの色をRGB形式からYCbCr形式に変換して、その上ですべてのピクセルの輝度以外の成分を 引数の Cb Cr の値を置き換えた後、再びＲＧＢ形式に戻す。 値の調整が難しいが、似たような効果を得ることができる Filter::Hsb より負荷は低い。 赤色差と青色差は-255〜255で指定する。

static bool DXFW::Filter::Mono | ( | ImagePack * | 処理イメージ郡,
|  | int | 青色差,
|  | int | 赤色差
| ) |  |
| inline static

summary>ガウスフィルタ

画像にガウス関数を使用したぼかし効果を与える。 使用ピクセル幅は 8 か 16 か 32で指定。 ぼかし強さは 1 で約1ピクセル幅ぼかす。

ぼかしの限界は 使用ピクセル幅 で決まり、値が大きいほどぼかしの強さの限界が大きくなり、 それとともに処理負荷も大きくなる。 このフィルタは非常に負荷が大きいので、強いぼかしをかけたい場合は 使用ピクセル の値を 32 にして強いぼかしを 掛けるより、縮小フィルタ( DX_GRAPH_FILTER_DOWN_SCALE )で画像を縮小した後弱いぼかしを掛け、 その後 DrawExtend で元の大きさで描画する、という方法を採ったほうが処理負荷を小さく抑えることができます。

static bool DXFW::Filter::DownScale | ( | Image * | 処理イメージ,
|  | int | 分母
| ) |  |
| inline static

分母は 2 か 4 か 8 を指定 画像を分母で指定した数で割って縮小する。 DrawExtend でも縮小描画することができるが、それよりも綺麗に縮小した画像を得ることができる。 主にFilter::Gaussの処理負荷を下げる目的で使用されることを想定している。

static bool DXFW::Filter::BrightClip | ( | Image * | 処理イメージ,
|  | ClipType | cmpType,
|  | int | cmpParam,
|  | int | clipFillColor,
|  | int | clipFillAlpha
| ) |  |
| inline static

画像の各ピクセルを輝度に応じて引数で渡す色で塗りつぶす。 クリップタイプがClipType::Lessの場合、クリップパラメータより輝度が小さいピクセル、 クリップタイプがClipType::Graterの場合、輝度が大きいピクセルをクリップ処理する。 クリップ判定されたピクセルは、クリップ色で塗られ、αチャンネルがある場合α値をクリップαにする。

static bool DXFW::Filter::Hsb | ( | Image * | 処理イメージ,
|  | int | 色相,
|  | double | 彩度,
|  | double | 明度
| ) |  |
| inline static

画像の各ピクセルの、色相、彩度、明度を補正する。 色相は-180〜180で指定し、相対的に変化させます 彩度 -1.0〜で指定し、相対的に変化させます、-1でグレー、0で変化。 輝度 -1.0〜1.0で指定し、負の場合暗く、正の場合は明るくなる。

static bool DXFW::Filter::Hsb | ( | ImagePack * | 処理イメージ郡,
|  | int | 色相,
|  | double | 彩度,
|  | double | 明度
| ) |  |
| inline static

summary>色相・彩度・明度フィルタ

画像の各ピクセルの、色相、彩度、明度を補正する。 色相は0〜360で指定、120が緑、240で青、360が赤になる。 絶対値で指定するので、モノトーン調の処理になる。 彩度と明度は、Filter::Hsbと同じ。

static bool DXFW::Filter::MonoHsb | ( | ImagePack * | 処理イメージ郡,
|  | int | 色相,
|  | double | 彩度,
|  | double | 明度
| ) |  |
| inline static

summary>階調反転フィルタ

各ピクセルのRGB値を反転する。

bool DXFW::Filter::Invert | ( | ImagePack * | 処理イメージ郡 | ) |
| inline

summary>レベル補正フィルタ

画像にレベル補正を行い、コントラストを調整する。 処理前下限、0以上にすると暗くなります。 処理前上限、255以下にすると、明るくなります。 処理後下限、0以上にすると白っぽくなります。 処理後上限、255以下にすると黒に近くなります ガンマ値は1以上にすると、明るくなり、1以下にすると暗くなります。

bool DXFW::Filter::Level | ( | ImagePack * | 処理イメージ郡,
|  | int | 処理前下限,
|  | int | 処理前上限,
|  | int | 処理後下限,
|  | int | 処理後上限,
|  | double | ガンマ値
| ) |  |
| inline

summary>２階調フィルタ

各ピクセルの輝度が閾値より暗いか明るいかで各ピクセルを変換する

bool DXFW::Filter::TwoColor | ( | ImagePack * | 処理イメージ郡,
|  | int | 閾値,
|  | int | 暗色,
|  | int | 暗色α値,
|  | int | 明色,
|  | int | 明色α値
| ) |  |
| inline

summary>グラデーションマップフィルタ

各ピクセルの輝度からグラデーションマップのＸ座標を算出し変換する。 輝度が0の場合はグラデーションマップの一番左上のピクセルの色が( x:0 y:0 座標のピクセル )、 輝度が255( 最大 )の場合、グラデーションマップの一番右上のピクセルの色が( x:255 y:0 座標のピクセル ) 出力結果の色になる。

このクラスの説明は次のファイルから生成されました:

- C:/Users/Tatuya/Documents/Visual Studio 2012/Projects/DXフレームワーク/Filter.h