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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。