- java.lang.Object
-
- java.awt.image.ImageFilter
-
- java.awt.image.RGBImageFilter
-
- すべての実装されたインタフェース:
ImageConsumer
,Cloneable
- 直系の既知のサブクラス:
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)); } }
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected boolean
canFilterIndexColorModel
このboolean型は、IndexColorModelオブジェクトのカラー表エントリに対して、filterRGBメソッドのカラー・フィルタ処理を、ピクセル単位のフィルタ処理の代わりに使用できるかどうかを示します。protected ColorModel
newmodel
ユーザーがsubstituteColorModel
を呼び出したときにorigmodel
を置き換えるColorModel
です。protected ColorModel
origmodel
ユーザーがsubstituteColorModel
を呼び出したときにColorModel
がnewmodel
によって置き換えられます。-
クラス java.awt.image.ImageFilterで宣言されたフィールド
consumer
-
インタフェース java.awt.image.ImageConsumerで宣言されたフィールド
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 RGBImageFilter()
-
メソッドのサマリー
修飾子と型 メソッド 説明 IndexColorModel
filterIndexColorModel(IndexColorModel icm)
IndexColorModelオブジェクトをフィルタ処理します。RGBImageFilterサブクラスが提供するfilterRGB機能により、オブジェクトのカラー表の各エントリを処理します。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のピクセル・バッファをフィルタ処理します。filterRGBメソッドで1つずつ渡され、処理されます。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を使用して単純にピクセルを渡します。そうでない場合、intピクセルのバッファをデフォルトのRGB ColorModelに変換し、変換されたバッファをfilterRGBPixelsメソッドへ渡し、1つずつ変換します。void
substituteColorModel(ColorModel oldcm, ColorModel newcm)
置換用の2つのColorModelオブジェクトを登録します。-
クラス java.awt.image.ImageFilterで宣言されたメソッド
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setDimensions, setHints, setProperties
-
-
-
-
フィールドの詳細
-
origmodel
protected ColorModel origmodel
ユーザーがsubstituteColorModel
を呼び出したときにColorModel
がnewmodel
によって置き換えられます。
-
newmodel
protected ColorModel newmodel
ユーザーがsubstituteColorModel
を呼び出したときにorigmodel
を置き換えるColorModel
です。
-
canFilterIndexColorModel
protected boolean canFilterIndexColorModel
このboolean型は、IndexColorModelオブジェクトのカラー表エントリに対して、filterRGBメソッドのカラー・フィルタ処理を、ピクセル単位のフィルタ処理の代わりに使用できるかどうかを示します。 filterRGBメソッドが、フィルタ処理を行うピクセルの座標に依存しない場合、サブクラスはこの変数をコンストラクタでtrueに設定しなければいけません。
-
-
メソッドの詳細
-
setColorModel
public void setColorModel(ColorModel model)
ColorModelがIndexColorModelで、サブクラスがcanFilterIndexColorModelフラグをtrueに設定した場合は、元のColorModelオブジェクトがsetPixelsメソッドで呼び出されるところではどこでも、フィルタ処理されたカラー・モデルに置き換えます。 ColorModelがIndexColorModelまたはnullの場合、このメソッドはImageProducerが使用するデフォルトのColorModelをオーバーライドし、デフォルトのRGB ColorModelを代わりに指定します。注: このメソッドは、フィルタ処理の対象となるピクセルで構成される
Image
のImageProducer
によって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。- 定義:
setColorModel
、インタフェース:ImageConsumer
- オーバーライド:
setColorModel
、クラス:ImageFilter
- パラメータ:
model
- 指定されたColorModel
- 関連項目:
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
- 例外:
NullPointerException
-icm
がnullである場合
-
filterRGBPixels
public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, int off, int scansize)
デフォルトのRGB ColorModelのピクセル・バッファをフィルタ処理します。filterRGBメソッドで1つずつ渡され、処理されます。- パラメータ:
x
- ピクセル領域の左上隅のX座標y
- ピクセル領域の左上隅のY座標w
- ピクセル領域の幅h
- ピクセル領域の高さpixels
- ピクセルの配列off
-pixels
配列へのオフセットscansize
- 配列内のあるピクセル行から次のピクセル行までの距離- 関連項目:
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つずつ変換します。注: このメソッドは、フィルタ処理の対象となるピクセルで構成される
Image
のImageProducer
によって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。- 定義:
setPixels
、インタフェース:ImageConsumer
- オーバーライド:
setPixels
、クラス:ImageFilter
- パラメータ:
x
- 設定されるピクセルの領域の左上隅のX座標y
- 設定されるピクセルの領域の左上隅のY座標w
- ピクセル領域の幅h
- ピクセル領域の高さmodel
- 指定されたColorModel
pixels
- ピクセルの配列off
-pixels
配列へのオフセットscansize
-pixels
配列内のあるピクセル行から次のピクセル行までの距離- 関連項目:
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メソッドへ渡します。注: このメソッドは、フィルタ処理の対象となるピクセルで構成される
Image
のImageProducer
によって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。- 定義:
setPixels
、インタフェース:ImageConsumer
- オーバーライド:
setPixels
、クラス:ImageFilter
- パラメータ:
x
- 設定されるピクセルの領域の左上隅のX座標y
- 設定されるピクセルの領域の左上隅のY座標w
- ピクセル領域の幅h
- ピクセル領域の高さmodel
- 指定されたColorModel
pixels
- ピクセルの配列off
-pixels
配列へのオフセットscansize
-pixels
配列内のあるピクセル行から次のピクセル行までの距離- 関連項目:
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つの出力ピクセルに変換するメソッドを指定しなければいけません。- パラメータ:
x
- ピクセルのX座標y
- ピクセルのY座標rgb
- デフォルトRGBカラー・モデルの整数型ピクセル表現- 戻り値:
- デフォルトRGBカラー・モデルのフィルタ処理されたピクセル
- 関連項目:
ColorModel.getRGBdefault()
,filterRGBPixels(int, int, int, int, int[], int, int)
-
-