- 直系の既知のサブクラス:
ImageReadParam,ImageWriteParam
ImageReadParamとImageWriteParamで共有されるすべての変数とメソッドを保持します。
このクラスは、ソース領域およびデスティネーション領域を指定するメカニズムを提供します。 読込み時には、ソースがストリームとなり、メモリー内イメージがデスティネーションとなります。 書込み時には、その逆になります。 書込みの場合、デスティネーション領域はピクセルの置換をサポートするライターだけに使用されます。
間引きサブサンプリングは、移動可能なサブサンプリング・グリッドを使用してリーダーとライターの両方で指定されます。
ソースとデスティネーション・バンドのサブセットを選択できます。
-
フィールドのサマリー
フィールド修飾子と型フィールド説明protected IIOParamControlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerです。protected IIOParamControlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するデフォルトのIIOParamControllerです。protected Point左上隅のデコードされたピクセルが配置されるデスティネーションのオフセットです。protected ImageTypeSpecifier読込み時にデスティネーションのイメージを生成する、または書込み時に出力のカラー・タイプを設定するために使用するImageTypeSpecifierです。protected int[]使用するソース・バンドを示すint配列、またはnullです。protected Rectangleソース領域、または何も設定されない場合はnullとなります。protected int水平方向に適用される間引きサブサンプリングです。protected int垂直方向に適用される間引きサブサンプリングです。protected intサブサンプリングする前にサブサンプリング・グリッドに適用される水平方向のオフセットです。protected intサブサンプリングする前にサブサンプリング・グリッドに適用される垂直方向のオフセットです。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明booleanこのIIOParamオブジェクトに対してインストールされているIIOParamControllerをアクティブにし、結果の値を返します。現在インストールされているIIOParamControllerを返します。デフォルトのIIOParamControllerがある場合は、現在インストールされているコントローラとは関係なく、これを返します。ピクセルが配置されるデスティネーション・イメージのオフセットを返します。ImageTypeSpecifierとして、setDestination(ImageTypeSpecifier)の呼出しによって設定された場合、読込みによって返されるイメージのタイプを返します。int[]使用するソース・バンドのセットを返します。使用するソース領域を返します。intピクセルごとに浮き出るソース列の数を返します。intピクセルごとに浮き出るソース行の数を返します。intサブサンプリング・グリッドの水平方向のオフセットを返します。intサブサンプリング・グリッドの垂直方向のオフセットを返します。booleanこのIIOParamオブジェクトにインストールされたコントローラがある場合はtrueを返します。voidsetController(IIOParamController controller) activateControllerメソッドを呼び出して、すべてのデフォルト・コントローラをオーバーライドするときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerを設定します。voidsetDestinationOffset(Point destinationOffset) 読込み時の場合は、将来デコードされるピクセルが配置されるオフセット、書込み時の場合は、領域が書き込まれるオフセットをデスティネーション・イメージに指定します。voidsetDestinationType(ImageTypeSpecifier destinationType) ImageTypeSpecifierを使用して、目的のイメージ形式をデスティネーション・イメージに設定します。voidsetSourceBands(int[] sourceBands) 使用するソース・バンドのインデックスを設定します。voidsetSourceRegion(Rectangle sourceRegion) 処理対象のソース領域を設定します。voidsetSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset) 間引きサブサンプリングを指定して入出力に適用します。
-
フィールド詳細
-
sourceRegion
protected Rectangle sourceRegionソース領域、または何も設定されない場合はnullとなります。 -
sourceXSubsampling
protected int sourceXSubsampling水平方向に適用される間引きサブサンプリングです。 デフォルト値は1です。 値は必ず、正にしてください。 -
sourceYSubsampling
protected int sourceYSubsampling垂直方向に適用される間引きサブサンプリングです。 デフォルト値は1です。 値は必ず、正にしてください。 -
subsamplingXOffset
protected int subsamplingXOffsetサブサンプリングする前にサブサンプリング・グリッドに適用される水平方向のオフセットです。 最初に使用するピクセルは、領域の原点から、領域が指定されない場合はイメージからこの量がオフセットされます。 -
subsamplingYOffset
protected int subsamplingYOffsetサブサンプリングする前にサブサンプリング・グリッドに適用される垂直方向のオフセットです。 最初に使用するピクセルは、領域の原点から、領域が指定されない場合はイメージからこの量がオフセットされます。 -
sourceBands
protected int[] sourceBands使用するソース・バンドを示すint配列、またはnullです。nullの場合、使用するソース・バンドのセットはsetSourceBandsメソッドのコメントに記述されているとおりです。 負の値は使用できません。 -
destinationType
protected ImageTypeSpecifier destinationType読込み時にデスティネーションのイメージを生成する、または書込み時に出力のカラー・タイプを設定するために使用するImageTypeSpecifierです。 何も設定されていない場合、値はnullになります。 デフォルト値はnullです。 -
destinationOffset
protected Point destinationOffset左上隅のデコードされたピクセルが配置されるデスティネーションのオフセットです。 デフォルトの値は(0, 0)です。 -
defaultController
protected IIOParamController defaultControlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するデフォルトのIIOParamControllerです。 このデフォルトはサブクラスで設定します。サブクラスはそれ自体のパラメータ設定用のデフォルト・コントローラ(通常はGUI)を提供します。- 関連項目:
-
controller
protected IIOParamController controlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerです。 この値はnullの場合を含むすべてのデフォルト・コントローラをオーバーライドします。- 関連項目:
-
-
コンストラクタの詳細
-
IIOParam
protected IIOParam()protectedコンストラクタは、サブクラスだけによって呼び出されます。
-
-
メソッドの詳細
-
setSourceRegion
public void setSourceRegion(Rectangle sourceRegion) 処理対象のソース領域を設定します。 処理対象の領域は、ソース・イメージの左上隅をピクセル(0, 0)として、下方および右方向に値を増加させる矩形で記述されます。 使用する実際のピクセル数は、setSourceSubsamplingで設定されるサブサンプリング係数によります。 サブサンプリングの数がゼロになるように設定された場合、IllegalStateExceptionがスローされます。このメソッドによって指定された処理対象のソース領域は、実際の入出力時のデスティネーションのオフセット、幅、および高さとともにソースの境界内にちょうど収まるようにクリップされます。
sourceRegionの値nullは任意の領域の指定を削除して、イメージ全体を使用できるようにします。- パラメータ:
sourceRegion- 処理対象のソース領域を指定するRectangleまたはnull。- 例外:
IllegalArgumentException-sourceRegionがnull以外の場合で、sourceRegion.xとsourceRegion.yのいずれかが負の場合。IllegalArgumentException-sourceRegionがnull以外の場合で、sourceRegion.widthとsourceRegion.heightのいずれかが負または0の場合。IllegalStateException- 領域が間引きされた幅または高さゼロを持つような、サブサンプリングの場合。- 関連項目:
-
getSourceRegion
public Rectangle getSourceRegion()使用するソース領域を返します。 戻り値はsetSourceRegionの直前の呼出しによって設定された値です。領域セットがない場合はnullになります。- 戻り値:
Rectangleとしての処理対象ソース領域、またはnull。- 関連項目:
-
setSourceSubsampling
public void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset) 間引きサブサンプリングを指定して入出力に適用します。sourceXSubsamplingおよびsourceYSubsamplingパラメータは、サブサンプリング周期、つまりすべてのソース・ピクセルのあとに浮き出る行と列の数を指定します。 特に、周期1はすべての行または列を使用し、周期2は1つおきに行または列を使用します。subsamplingXOffsetおよびsubsamplingYOffsetパラメータは、最初に間引きされたピクセルの領域またはイメージの起点からのオフセットを指定します。 非常に大きなソース・イメージを、間引きされた完全なイメージに組み立てられるデスティネーション領域にサブサンプリングする場合、サブサンプル・グリッドの起点を調整すると、継ぎ目を避けるのに役立ちます。 通常は、これらのパラメータは0のままにしておきます。使用するピクセル数と走査線の数は次のように計算されます。
走査線の間引きされたピクセルの数は、次の数式で与えられます。
truncate[(width - subsamplingXOffset + sourceXSubsampling - 1) / sourceXSubsampling]幅がゼロであるような領域の場合、
IllegalStateExceptionがスローされます。使用する走査線の数は同じように計算されます。
サブサンプリング・グリッドを、ソース領域の原点以外の場所から起動させる設定は、大きなイメージの間引きされたタイルを作成するために領域が使用される場合に役立ちます。ここでは、タイルの幅と高さはサブサンプリング周期の倍数ではありません。 サブサンプリング・グリッドがタイル間の一貫性を維持していない場合、タイルの境界にアーティファクトが生じます。 各タイルのサブサンプリング・グリッドのオフセットを調整して補正することにより、これらのアーティファクトを回避できます。 ただし、アーティファクトを回避するためには、すべてのタイルを同じサイズにはできません。 この場合に使用するグリッド・オフセットは次の数式で得られます。
grid offset = [period - (region offset modulo period)] modulo period)sourceXSubsamplingまたはsourceYSubsamplingのいずれかが0または負の場合、IllegalArgumentExceptionがスローされます。subsamplingXOffsetまたはsubsamplingYOffsetのいずれかが負、あるいは対応する周期より大きいか等しい場合、IllegalArgumentExceptionがスローされます。unsetSourceSubsamplingメソッドはありません。単にsetSourceSubsampling(1, 1, 0, 0)を呼び出してデフォルト値を復元します。- パラメータ:
sourceXSubsampling- ピクセル間に浮き出る列数。sourceYSubsampling- ピクセル間に浮き出る行数。subsamplingXOffset- 領域内の最初のサブサンプルの水平方向のオフセット。領域が設定されていない場合は、イメージ内の最初のサブサンプルの水平方向のオフセット。subsamplingYOffset- 領域内の最初のサブサンプルの水平方向のオフセット。領域が設定されていない場合は、イメージ内の最初のサブサンプルの水平方向のオフセット。- 例外:
IllegalArgumentException- いずれかの周期が負または0の場合、またはグリッドのオフセットが負か対応する周期より大きい場合。IllegalStateException- 間引きされた出力がピクセルを保持していないような、ソース領域の場合。
-
getSourceXSubsampling
public int getSourceXSubsampling()ピクセルごとに浮き出るソース列の数を返します。setSourceSubsamplingが呼び出されなかった場合、正しい値1が返されます。- 戻り値:
- ソース・サブサンプリング周期X
- 関連項目:
-
getSourceYSubsampling
public int getSourceYSubsampling()ピクセルごとに浮き出るソース行の数を返します。setSourceSubsamplingが呼び出されなかった場合、正しい値1が返されます。- 戻り値:
- ソース・サブサンプリングの周期Y
- 関連項目:
-
getSubsamplingXOffset
public int getSubsamplingXOffset()サブサンプリング・グリッドの水平方向のオフセットを返します。setSourceSubsamplingが呼び出されなかった場合、正しい値0が返されます。- 戻り値:
- ソース・サブサンプリング・グリッドのXオフセット
- 関連項目:
-
getSubsamplingYOffset
public int getSubsamplingYOffset()サブサンプリング・グリッドの垂直方向のオフセットを返します。setSourceSubsamplingが呼び出されなかった場合、正しい値0が返されます。- 戻り値:
- ソース・サブサンプリング・グリッドのYオフセット
- 関連項目:
-
setSourceBands
public void setSourceBands(int[] sourceBands) 使用するソース・バンドのインデックスを設定します。 インデックスの複製は使用できません。値
nullは、すべてのソース・バンドが使用されることを示します。使用可能な最大ソース・バンド・インデックスより大きい値が指定された場合、または使用するソース・バンドとデスティネーション・バンドの数が異なる場合、
IllegalArgumentExceptionは、読込み時にリーダーまたはライターによってスローされます。ImageReader.checkReadParamBandSettingsメソッドは、このテストを自動化するために使用されます。意味上では、コピーは配列から作成されます。この呼出しのあとに、配列の内容が変更されても、
IIOParamには何の影響もありません。- パラメータ:
sourceBands- 使用する整数型バンド・インデックスの配列。- 例外:
IllegalArgumentException-sourceBandsが負または重複する値を保持する場合。- 関連項目:
-
getSourceBands
public int[] getSourceBands()使用するソース・バンドのセットを返します。 戻り値は、直前のsetSourceBandsの呼出しによって設定された値、またはsetSourceBandsを呼び出さなかった場合はnullです。意味上では、返される配列はコピーです。この呼出しのあとに、配列の内容が変更されても、
IIOParamには何の影響もありません。- 戻り値:
- 使用するソース・バンドのセット、または
null。 - 関連項目:
-
setDestinationType
public void setDestinationType(ImageTypeSpecifier destinationType) ImageTypeSpecifierを使用して、目的のイメージ形式をデスティネーション・イメージに設定します。読込み時に、このメソッドを使用してデスティネーションのレイアウトが設定された場合、
ImageReaderreadメソッドの各呼出しは、指定されたタイプの指示子によって指定された形式を使用して、新しいBufferedImageを返します。 副作用として、ImageReadParam.setDestination(BufferedImage)によって設定されるすべてのデスティネーションBufferedImageは、デスティネーションとして設定されなくなります。 言い換えると、このメソッドはsetDestination((BufferedImage)null)の呼び出しと考えることもできます。書込み時に、デスティネーションのタイプはイメージのカラー・タイプを決めるために使用される場合があります。
SampleModel情報は無視されて、nullになります。 たとえば、4バンドのイメージはCMYKまたはRGBAデータのいずれかで表せます。 デスティネーションのタイプが設定された場合、そのColorModelはイメージ自体にあるすべてのColorModelをオーバーライドします。 これは、イメージのColorModelが、書き込まれたバンドのサブセットではなくイメージ全体を参照するので、setSourceBandsを使用する場合に重要です。- パラメータ:
destinationType- デスティネーションのレイアウトとカラー・タイプを決定するために使用するImageTypeSpecifier。- 関連項目:
-
getDestinationType
public ImageTypeSpecifier getDestinationType()ImageTypeSpecifierとして、setDestination(ImageTypeSpecifier)の呼出しによって設定された場合、読込みによって返されるイメージのタイプを返します。 設定されなかった場合、nullが返されます。- 戻り値:
- デスティネーションのタイプを記述する
ImageTypeSpecifier、またはnull。 - 関連項目:
-
setDestinationOffset
public void setDestinationOffset(Point destinationOffset) 読込み時の場合は、将来デコードされるピクセルが配置されるオフセット、書込み時の場合は、領域が書き込まれるオフセットをデスティネーション・イメージに指定します。読込み時に、
BufferedImageデスティネーション内に書き込まれる領域は、このオフセットで開始し、処理対象のソース領域、サブサンプリング・パラメータ、およびデスティネーションの境界によって決定される幅と高さを持ちます。通常の書込みは、このメソッドの影響を受けません。
ImageWriter.replacePixelsを使用して実行される書き込みだけが影響を受けます。 このような書込みの場合、指定されたオフセットはピクセルが変更される出力ストリーム・イメージ内にあります。unsetDestinationOffsetメソッドはありません。単にsetDestinationOffset(new Point(0, 0))を呼び出してデフォルト値を復元します。- パラメータ:
destinationOffset-Pointとしての、デスティネーションのオフセット。- 例外:
IllegalArgumentException-destinationOffsetがnullの場合。- 関連項目:
-
getDestinationOffset
public Point getDestinationOffset()ピクセルが配置されるデスティネーション・イメージのオフセットを返します。setDestinationOffsetsが呼び出されなかった場合、XおよびYの値がゼロのPointが返されます。これは正しい値です。- 戻り値:
Pointとしての、デスティネーションのオフセット。- 関連項目:
-
setController
public void setController(IIOParamController controller) activateControllerメソッドを呼び出して、すべてのデフォルト・コントローラをオーバーライドするときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerを設定します。 引数がnullの場合は、デフォルトのコントローラを含め、どのコントローラも使用されません。 デフォルトのコントローラを復元するには、setController(getDefaultController())を使用します。- パラメータ:
controller- 適切なIIOParamController、またはnull。- 関連項目:
-
getController
public IIOParamController getController()現在インストールされているIIOParamControllerを返します。 返される値は、デフォルトが存在する場合はデフォルトであり、null、または最後のsetController呼出しの引数である場合もあります。- 戻り値:
- 現在インストールされている
IIOParamController、またはnull。 - 関連項目:
-
getDefaultController
public IIOParamController getDefaultController()デフォルトのIIOParamControllerがある場合は、現在インストールされているコントローラとは関係なく、これを返します。 デフォルト・コントローラがない場合は、nullを返します。- 戻り値:
- デフォルトの
IIOParamController、またはnull。 - 関連項目:
-
hasController
public boolean hasController()このIIOParamオブジェクトにインストールされたコントローラがある場合はtrueを返します。getControllerがnullを返さない場合はtrueを返します。- 戻り値:
- コントローラがインストールされている場合は
true。 - 関連項目:
-
activateController
public boolean activateController()このIIOParamオブジェクトに対してインストールされているIIOParamControllerをアクティブにし、結果の値を返します。 このメソッドがtrueを返す場合、このIIOParamオブジェクトのすべての値は次の読み込みまたは書込み操作で使用する準備ができています。falseが返される場合は、このオブジェクト内の設定値への影響はありません。つまり、ユーザーにより操作が取り消されました。通常、コントローラは、特定のプラグインに対する
IIOParamのサブクラスのユーザー・インタフェースを提供するGUIです。 ただし、コントローラはGUIである必要はありません。- 戻り値:
- コントローラが通常どおり完了した場合は
true。 - 例外:
IllegalStateException- コントローラが現在インストールされていない場合。- 関連項目:
-