モジュール java.desktop
パッケージ java.awt.image

クラスPixelInterleavedSampleModel


  • public class PixelInterleavedSampleModel
    extends ComponentSampleModel
    このクラスは、ピクセル・インタリーブ化方式で格納され、ピクセルの各サンプルがDataBufferの1データ要素を占めるイメージ・データを表します。 このクラスは、ComponentSampleModelをサブクラス化しますが、ピクセル・インタリーブ化されたイメージ・データへのアクセスに、ComponentSampleModelを使うよりも効率的な実装を提供します。 このクラスは、すべてのバンドのサンプル・データをDataBufferの単一バンクに格納します。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されているDataBufferのバンクにある最初のデータ配列要素からそのバンドの最初のサンプルまでのデータ配列要素数を示します。 バンドには0からN-1までの番号が付けられています。 バンク・インデックスは、データ・バッファのバンクと、イメージ・データのバンドとの対応を示します。 このクラスは、TYPE_BYTETYPE_USHORTTYPE_SHORTTYPE_INTTYPE_FLOAT、およびTYPE_DOUBLEの各データ型をサポートします。
    • コンストラクタの詳細

      • PixelInterleavedSampleModel

        public PixelInterleavedSampleModel​(int dataType,
                                           int w,
                                           int h,
                                           int pixelStride,
                                           int scanlineStride,
                                           int[] bandOffsets)
        指定されたパラメータを持つPixelInterleavedSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。
        パラメータ:
        dataType - サンプルの格納のためのデータ型。
        w - 記述されたイメージ・データの領域の幅(単位はピクセル)。
        h - 記述されたイメージ・データの領域の高さ(単位はピクセル)。
        pixelStride - イメージ・データのピクセル・ストライド。
        scanlineStride - イメージ・データの走査線ストライド。
        bandOffsets - すべてのバンドのオフセット。
        例外:
        IllegalArgumentException - wまたはhが0以下である場合
        IllegalArgumentException - バンド間のオフセットのいずれかが走査線ストライドより大きい場合
        IllegalArgumentException - pixelStridewの積がscanlineStrideより大きい場合
        IllegalArgumentException - pixelStrideがバンド間のオフセットより小さい場合
        IllegalArgumentException - dataTypeがサポートされているデータ型でない場合
    • メソッドの詳細

      • createCompatibleSampleModel

        public SampleModel createCompatibleSampleModel​(int w,
                                                       int h)
        指定された幅と高さを持つ新しいPixelInterleavedSampleModelを生成します。 新しいPixelInterleavedSampleModelは、このPixelInterleavedSampleModelと同じバンド数、ストレージ・データ型、ピクセル・ストライドを持ちます。 バンド・オフセットは、すべてのバンド・オフセットの最小値がゼロになるように圧縮できます。
        Overrides:
        createCompatibleSampleModel、クラス: ComponentSampleModel
        パラメータ:
        w - 結果として得られるSampleModelの幅
        h - 結果として得られるSampleModelの高さ
        戻り値:
        指定された幅と高さを持つ新しいSampleModel
        例外:
        IllegalArgumentException - wまたはhが0以下である場合
      • createSubsetSampleModel

        public SampleModel createSubsetSampleModel​(int[] bands)
        このPixelInterleavedSampleModelのバンドのサブセットを持つ新しいPixelInterleavedSampleModelを生成します。 新しいPixelInterleavedSampleModelは、既存のPixelInterleavedSampleModelと組み合わせて使用できるDataBufferであればどのDataBufferとも組み合わせて使用できます。 新しいPixelInterleavedSampleModelとDataBufferの組み合わせは、元の組み合わせのバンドのサブセットを持つイメージを表します。
        Overrides:
        createSubsetSampleModel、クラス: ComponentSampleModel
        パラメータ:
        bands - このComponentSampleModelのバンドのサブセット
        戻り値:
        このComponentSampleModelのバンドのサブセットで作成されたComponentSampleModel