java.awt.image
クラス RGBImageFilter
java.lang.Object
|
+--java.awt.image.ImageFilter
|
+--java.awt.image.RGBImageFilter
- 直接の既知のサブクラス:
- GrayFilter
- public abstract class RGBImageFilter
- extends ImageFilter
このクラスは、デフォルト RGB ColorModel イメージのピクセルを修正する ImageFilter を容易に作成するための方法を提供します。また、FilteredImageSource と連結して、既存イメージにフィルタをかけるために使われます。このクラスは、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
,
ColorModel.getRGBdefault()
メソッドの概要 |
IndexColorModel |
filterIndexColorModel(IndexColorModel icm)
IndexColorModel オブジェクトにフィルタをかけます。 |
abstract int |
filterRGB(int x,
int y,
int rgb)
サブクラスはメソッドを指定して、デフォルトの RGB ColorModel の 1 つの入力ピクセルを 1 つの出力ピクセルに変換しなければなりません。 |
void |
filterRGBPixels(int x,
int y,
int w,
int h,
int[] pixels,
int off,
int scansize)
デフォルトの RGB ColorModel のピクセルバッファにフィルタをかけます。 |
void |
setColorModel(ColorModel model)
ColorModel が IndexColorModel で、サブクラスが canFilterIndexColorModel フラグを true に設定した場合は、元の ColorModel オブジェクトが setPixels メソッドで呼び出されるところではどこでも、フィルタをかけたカラーモデルに置き換えます。 |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
ColorModel オブジェクトが、すでに変換されたオブジェクトと同じである場合、変換された ColorModel を使用してピクセルを単に通過させます。 |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
ColorModel オブジェクトが、すでに変換されたオブジェクトと同じである場合、変換された ColorModel を使用してピクセルを単に通過させます。 |
void |
substituteColorModel(ColorModel oldcm,
ColorModel newcm)
置換用の 2 つの ColorModel オブジェクトを登録します。 |
origmodel
protected ColorModel origmodel
newmodel
protected ColorModel newmodel
canFilterIndexColorModel
protected boolean canFilterIndexColorModel
- この boolean 型は、IndexColorModel オブジェクトのカラーテーブルエントリに対して、filterRGB メソッドのカラーフィルタリングを、フィルタリングによるピクセルの代わりに使用できるかどうかを示します。filterRGB メソッドが、フィルタをかけるピクセルの座標に依存しない場合、サブクラスはこの変数をコンストラクタで true に設定しなければなりません。
- 関連項目:
substituteColorModel(java.awt.image.ColorModel, java.awt.image.ColorModel)
,
filterRGB(int, int, int)
,
IndexColorModel
RGBImageFilter
public RGBImageFilter()
setColorModel
public void setColorModel(ColorModel model)
- ColorModel が IndexColorModel で、サブクラスが canFilterIndexColorModel フラグを true に設定した場合は、元の ColorModel オブジェクトが setPixels メソッドで呼び出されるところではどこでも、フィルタをかけたカラーモデルに置き換えます。そのカラーモデルに置き換えない場合は、ImageProducer が使用するデフォルトの ColorModel をオーバーライドし、デフォルトの RGB ColorModel を代わりに指定します。
- オーバーライド:
- クラス ImageFilter 内の setColorModel
- 関連項目:
ImageConsumer
,
ColorModel.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 つずつ渡すことにより行われます。
- 関連項目:
ColorModel.getRGBdefault()
,
filterRGB(int, int, int)
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
- 関連項目:
ColorModel.getRGBdefault()
,
filterRGBPixels(int, int, int, int, int[], int, int)
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
- 関連項目:
ColorModel.getRGBdefault()
,
filterRGBPixels(int, int, int, int, int[], int, int)
filterRGB
public abstract int filterRGB(int x,
int y,
int rgb)
- サブクラスはメソッドを指定して、デフォルトの RGB ColorModel の 1 つの入力ピクセルを 1 つの出力ピクセルに変換しなければなりません。
- 関連項目:
ColorModel.getRGBdefault()
,
filterRGBPixels(int, int, int, int, int[], int, int)
バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.