全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス java.awt.image.RGBImageFilter
java.lang.Object
|
+----java.awt.image.ImageFilter
|
+----java.awt.image.RGBImageFilter
- public abstract class RGBImageFilter
- extends ImageFilter
このクラスにより、デフォルト RGB ColorModel イメージのピクセルを修正する ImageFilter を容易に作成できます。また、FilteredImageSource と連結して、既存イメージにフィルタをかけるために使われます。このクラスは abstract クラスであり、1 つのメソッドの呼び出しでピクセルデータをすべて通します。このメソッドは、ImageProducer で使用されている ColorModel に関わらず、デフォルト RGB ColorModel でピクセルを一度に変換します。使用するフィルタを作成するために定義する必要があるのは、filterRGB メソッドだけです。たとえば、イメージの赤色成分と青色成分を交換するフィルタの定義は、次のとおりです。
class RedBlueSwapFilter extends RGBImageFilter {
public RedBlueSwapFilter() {
// The filter's operation does not depend on the
// pixel's location, so IndexColorModels can be
// filtered directly.
canFilterIndexColorModel = true;
}
public int filterRGB(int x, int y, int rgb) {
return ((rgb & 0xff00ff00)
| ((rgb & 0xff0000) >> 16)
| ((rgb & 0xff) << 16));
}
}
- 参照:
- FilteredImageSource, ImageFilter, getRGBdefault
-
canFilterIndexColorModel
- この boolean 型は、IndexColorModel オブジェクトのカラーテーブルエントリに、filterRGB メソッドのカラーフィルタリングを、フィルタリングによるピクセルの代わりに使用するかどうかを示す。
-
newmodel
-
-
origmodel
-
-
RGBImageFilter()
-
-
filterIndexColorModel(IndexColorModel)
- IndexColorModel オブジェクトにフィルタをかける。このフィルタリングは、RGBImageFilter サブクラスが提供する filterRGB 機能により、オブジェクトのカラーテーブルの各エントリに実行される。
-
filterRGB(int, int, int)
- サブクラスはメソッドを指定して、デフォルトの RGB ColorModel の 1 つの入力ピクセルを 1 つの出力ピクセルに変換しなければならない。
-
filterRGBPixels(int, int, int, int, int[], int, int)
- デフォルトの RGB ColorModel のピクセルバッファにフィルタをかける。これは、filterRGB メソッドを介して 1 つずつ渡すことにより行われる。
-
setColorModel(ColorModel)
- ColorModel が IndexColorModel で、サブクラスが canFilterIndexColorModel フラグを true に設定した場合、元の ColorModel オブジェクトが setPixels メソッドで呼び出されるところはどこでも、フィルタをかけたカラーモデルに置換される。
-
setPixels(int, int, int, int, ColorModel, byte[], int, int)
- ColorModel オブジェクトがすでに変換されたオブジェクトと同じ場合、変換された ColorModel を使用してピクセルを単に通過させる。
-
setPixels(int, int, int, int, ColorModel, int[], int, int)
- ColorModel オブジェクトがすでに変換されたオブジェクトと同じ場合、変換された ColorModel を使用してピクセルを単に通過させる。ピクセルが通過しない場合、int ピクセルのバッファをデフォルトの RGB ColorModel へ変換し、変換されたバッファを filterRGBPixelsメソッドへ渡し、1 つずつ変換する。
-
substituteColorModel(ColorModel, ColorModel)
- 置換用に 2 つの ColorModel オブジェクトを登録する。
origmodel
protected ColorModel origmodel
newmodel
protected ColorModel newmodel
canFilterIndexColorModel
protected boolean canFilterIndexColorModel
- この boolean 型は、IndexColorModel オブジェクトのカラーテーブルエントリに filterRGB メソッドのカラーフィルタリングをフィルタリングによるピクセルの代わりに使用するどうかを示す。filterRGB メソッドが、フィルタをかけるピクセルの座標に依存しない場合、サブクラスはこの変数を構築子で true に設定しなければならない。
- 参照:
- substituteColorModel, filterRGB, IndexColorModel
RGBImageFilter
public RGBImageFilter()
setColorModel
public void setColorModel(ColorModel model)
- ColorModel が IndexColorModel で、サブクラスが canFilterIndexColorModel フラグを true に設定した場合、元の ColorModel オブジェクトが setPixels メソッドで呼び出されるところはどこでも、フィルタをかけたカラーモデルに置換する。そのカラーモデルに置換しない場合、ImageProducer が使用するデフォルトの ColorModel をオーバーライドし、デフォルトの RGB ColorModel を代わりに指定する。
- オーバーライド:
- クラス ImageFilter の setColorModel
- 参照:
- ImageConsumer, getRGBdefault
substituteColorModel
public void substituteColorModel(ColorModel oldcm,
ColorModel newcm)
- 置換用に 2 つの ColorModel オブジェクトを登録する。setPixels メソッドでoldcm が見つかった場合、newcm に置換され、(新しく ColorModel オブジェクトを使用して)無修正のピクセルが通過する。
- パラメータ:
- oldcm - 処理中に置き換えられる ColorModel オブジェクト
- newcm - 処理中に oldcm を置き換える ColorModel オブジェクト
filterIndexColorModel
public IndexColorModel filterIndexColorModel(IndexColorModel icm)
- IndexColorModel オブジェクトにフィルタをかける。このフィルタリングは、RGBImageFilter サブクラスが提供する filterRGB 機能により、オブジェクトのカラーテーブルの各エントリに実行される。-1 の座標を用い、カラーテーブルエントリがフィルタをかけられていることを示すが、これは実際のピクセル値ではない。
- パラメータ:
- icm - フィルタをかけられる IndexColorModel オブジェクト
- 返り値:
- カラーフィルタをかけた新しい IndexColorModel
filterRGBPixels
public void filterRGBPixels(int x,
int y,
int w,
int h,
int pixels[],
int off,
int scansize)
- デフォルトの RGB ColorModel のピクセルバッファにフィルタをかけます。これは、filterRGB メソッドを介して 1 つずつ渡すことにより行われます。
- 参照:
- getRGBdefault, filterRGB
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte pixels[],
int off,
int scansize)
- ColorModel オブジェクトがすでに変換されたオブジェクトと同じ場合、変換された ColorModel を使用してピクセルを単に通過させます。ピクセルが通過しない場合、byte ピクセルのバッファをデフォルトの RGB ColorModel へ変換し、変換されたバッファを filterRGBPixelsメソッドへ渡し、1 つずつ変換します。
- オーバーライド:
- クラス ImageFilter の setPixels
- 参照:
- getRGBdefault, filterRGBPixels
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int pixels[],
int off,
int scansize)
- ColorModel オブジェクトがすでに変換されたオブジェクトと同じ場合、変換された ColorModel を使用してピクセルを単に通過させます。ピクセルが通過しない場合、int ピクセルのバッファをデフォルトの RGB ColorModel へ変換し、変換されたバッファを filterRGBPixelsメソッドへ渡し、1 つずつ変換します。int ピクセルのバッファをデフォルトの RGB ColorModel へ変換し、変換されたバッファを filterRGBPixelsメソッドへ渡します。
- オーバーライド:
- クラス ImageFilter の setPixels
- 参照:
- getRGBdefault, filterRGBPixels
filterRGB
public abstract int filterRGB(int x,
int y,
int rgb)
- サブクラスはメソッドを指定して、デフォルトの RGB ColorModel の 1 つの入力ピクセルを 1 つの出力ピクセルに変換しなければなりません。
- 参照:
- getRGBdefault, filterRGBPixels
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス