JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
クラス BandCombineOp

java.lang.Object
  |
  +--java.awt.image.BandCombineOp
すべての実装インタフェース:
RasterOp

public class BandCombineOp
extends Object
implements RasterOp

このクラスは、指定されたマトリックスを使用して、Raster のバンドの任意の線形結合を実行します。

マトリックスの幅は、ソース Raster のバンド数 (必要な場合は 1 を加算) と等しくなければなりません。マトリックスにバンド数よりも 1 つ多く列がある場合は、ピクセルを表すバンドサンプルのベクトルの最後に 1 があると見なされます。マトリックスの高さは、デスティネーションのバンド数と等しくなければなりません。

たとえば、3 バンドの Raster は、Raster の 2 番目のバンドを逆にするために、各ピクセルに次の変換を適用します。

   [ 1.0   0.0   0.0    0.0  ]     [ b1 ]    
   [ 0.0  -1.0   0.0  255.0  ]  x  [ b2 ]
   [ 0.0   0.0   1.0    0.0  ]     [ b3 ]
                                   [ 1 ]
 

ソースとデスティネーションには同じオブジェクトを指定できます。


コンストラクタの概要
BandCombineOp(float[][] matrix, RenderingHints hints)
          指定されたマトリックスで BandCombineOp を構築します。
 
メソッドの概要
 WritableRaster createCompatibleDestRaster(Raster src)
          正しいサイズおよびバンド数で、ゼロ化されたデスティネーションの Raster を作成します。
 WritableRaster filter(Raster src, WritableRaster dst)
          コンストラクタで指定されたマトリックスを使って Raster を変換します。
 Rectangle2D getBounds2D(Raster src)
          変換されたデスティネーションのバウンディングボックスを返します。
 float[][] getMatrix()
          マトリックスを返します。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          ソース Raster 内の指定されたポイントに対応する、デスティネーションのポイントの位置を返します。
 RenderingHints getRenderingHints()
          このオペレーションの描画ヒントを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

BandCombineOp

public BandCombineOp(float[][] matrix,
                     RenderingHints hints)
指定されたマトリックスで BandCombineOp を構築します。マトリックスの列数は、ソースの Raster 内のバンド数 (任意で 1 を加算) と等しくなければなりません。マトリックスにバンドの数より 1 列余分な列がある場合、ピクセルを表現するバンドサンプルのベクトルの末尾に暗黙の 1 があります。マトリックスの行数は、デスティネーションのバンド数と等しくなければなりません。

最初のインデックスは行のインデックスであり、2 番目のインデックスは列のインデックスです。このオペレーションは、現在定義されている描画ヒントをまったく使いません。したがって、RenderingHints 引数は null にすることができます。

パラメータ:
matrix - バンド結合オペレーションに使用するマトリックス
hints - このオペレーションに対する RenderingHints オブジェクト。現在は使用されていないので null でも可
メソッドの詳細

getMatrix

public final float[][] getMatrix()
マトリックスを返します。
戻り値:
このバンド結合オペレーションに関連したマトリックス

filter

public WritableRaster filter(Raster src,
                             WritableRaster dst)
コンストラクタで指定されたマトリックスを使って Raster を変換します。ソースまたはデスティネーションのバンド数がマトリックスと換性がない場合は、IllegalArgumentException がスローされます。詳細は、クラスのコメントを参照してください。

デスティネーションが null の場合は、マトリックスの列数と等しいバンド数で、デスティネーションが作成されます。オペレーションがデータのオーバーフローを起こした場合、例外はスローされません。

定義:
インタフェース RasterOp 内の filter
パラメータ:
src - フィルタ対象の Raster
dst - フィルタオペレーションの結果が格納されるRaster
戻り値:
フィルタされた Raster
例外:
IllegalArgumentException - ソースまたはデスティネーションのバンド数がマトリックスに対応していない場合

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
変換されたデスティネーションのバウンディングボックスを返します。これは、幾何学的な操作ではないので、ソースおよびデスティネーションのバウンディングボックスは同一です。ソースのバンド数がマトリックスと互換性がない場合は、IllegalArgumentException がスローされます。詳細は、クラスのコメントを参照してください。
定義:
インタフェース RasterOp 内の getBounds2D
パラメータ:
src - フィルタ対象の Raster
戻り値:
デスティネーションイメージのバウンディングボックスを表現する Rectangle2D
例外:
IllegalArgumentException - ソースのバンド数がマトリックスに対応していない場合

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
正しいサイズおよびバンド数で、ゼロ化されたデスティネーションの Raster を作成します。ソースのバンド数がマトリックスと互換性がない場合は、IllegalArgumentException がスローされます。詳細は、クラスのコメントを参照してください。
定義:
インタフェース RasterOp 内の createCompatibleDestRaster
パラメータ:
src - フィルタ対象の Raster
戻り値:
ゼロ化されたデスティネーションの Raster

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
ソース Raster 内の指定されたポイントに対応する、デスティネーションのポイントの位置を返します。dstPt が指定された場合は、その dstPt が戻り値を保持します。これは幾何学的な操作ではないので、返されるポイントは、指定された srcPt と同一です。
定義:
インタフェース RasterOp 内の getPoint2D
パラメータ:
dstPt - 結果が格納される Point2D
戻り値:
ソースイメージ内の指定されたポイントに対応するデスティネーションイメージ内の Point2D

getRenderingHints

public final RenderingHints getRenderingHints()
このオペレーションの描画ヒントを返します。
定義:
インタフェース RasterOp 内の getRenderingHints
戻り値:
このオペレーションに関連した RenderingHints オブジェクト。ヒントが設定されていない場合は null

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.