public abstract class RGBImageFilter extends ImageFilter
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
|
consumer
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 オブジェクトを登録します。
|
clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setDimensions, setHints, setProperties
protected ColorModel origmodel
protected ColorModel newmodel
substituteColorModel
を呼び出したときに origmodel
を置き換える ColorModel
です。protected boolean canFilterIndexColorModel
public void setColorModel(ColorModel model)
注:このメソッドは、フィルタ処理の対象となるピクセルで構成される Image
の ImageProducer
によって呼び出されることを想定して実装されています。このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。
setColorModel
、インタフェース: ImageConsumer
setColorModel
、クラス: ImageFilter
model
- 指定されたColorModel
ImageConsumer
、ColorModel.getRGBdefault()
public void substituteColorModel(ColorModel oldcm, ColorModel newcm)
oldcm
- 処理中に置き換えられる ColorModel オブジェクトnewcm
- 処理中に oldcm を置き換える ColorModel オブジェクトpublic IndexColorModel filterIndexColorModel(IndexColorModel icm)
icm
- フィルタ処理される IndexColorModel オブジェクトNullPointerException
- icm
が null である場合public void filterRGBPixels(int x, int y, int w, int h, int[] pixels, int off, int scansize)
x
- ピクセル領域の左上隅の X 座標y
- ピクセル領域の左上隅の Y 座標w
- ピクセル領域の幅h
- ピクセル領域の高さpixels
- ピクセルの配列off
- pixels
配列へのオフセットscansize
- 配列内のあるピクセル行から次のピクセル行までの距離ColorModel.getRGBdefault()
, filterRGB(int, int, int)
public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
注:このメソッドは、フィルタ処理の対象となるピクセルで構成される 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)
public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
注:このメソッドは、フィルタ処理の対象となるピクセルで構成される 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)
public abstract int filterRGB(int x, int y, int rgb)
x
- ピクセルの X 座標y
- ピクセルの Y 座標rgb
- デフォルト RGB カラーモデルの整数型ピクセル表現ColorModel.getRGBdefault()
, filterRGBPixels(int, int, int, int, int[], int, int)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.