モジュール java.desktop
パッケージ javax.imageio

クラスImageTypeSpecifier


  • public class ImageTypeSpecifier
    extends Object
    イメージの形式、特にSampleModelColorModelを、便利な方法で指定できるようにするクラスです。
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected ColorModel colorModel
      プロトタイプとして使用するColorModelです。
      protected SampleModel sampleModel
      プロトタイプとして使用するSampleModelです。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      static ImageTypeSpecifier createBanded​(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
      ComponentColorModelBandedSampleModelを使用する、バンドされたイメージ形式の指示子を返して、各チャネルを別々の配列に格納します。
      BufferedImage createBufferedImage​(int width, int height)
      このオブジェクトに取り入れられた指定に従って、指定された幅と高さのBufferedImageを作成します。
      static ImageTypeSpecifier createFromBufferedImageType​(int bufferedImageType)
      標準BufferedImage形式の1つ(TYPE_CUSTOM以外)を符号化するImageTypeSpecifierを返します。
      static ImageTypeSpecifier createFromRenderedImage​(RenderedImage image)
      RenderedImage (BufferedImageの場合もあります)の配置を符号化するImageTypeSpecifierを返します。
      static ImageTypeSpecifier createGrayscale​(int bits, int dataType, boolean isSigned)
      与えられたビット深度のピクセルを、指定されたデータ型の配列要素にパックする、グレー・スケール・イメージ形式の指示子を返します。
      static ImageTypeSpecifier createGrayscale​(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
      与えられたビット深度のピクセルを、指定されたデータ型の配列要素にパックする、グレー・スケールとプラス・アルファのイメージ形式の指示子を返します。
      static ImageTypeSpecifier createIndexed​(byte[] redLUT, byte[] greenLUT, byte[] blueLUT, byte[] alphaLUT, int bits, int dataType)
      与えられたビット深度のインデックス値を、指定されたデータ型の配列要素にパックする、インデックスされたカラー・イメージ形式の指示子を返します。
      static ImageTypeSpecifier createInterleaved​(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
      ComponentColorModelPixelInterleavedSampleModelを使用する、インターリーブされたイメージ形式の指示子を返して、各ピクセル構成要素を別々のbyte、short、またはintに格納します。
      static ImageTypeSpecifier createPacked​(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
      DirectColorModelとパックされたSampleModelを使用する、パックされたイメージ形式の指示子を返して、1 byte、short、またはintにパックされた各ピクセルを格納します。
      boolean equals​(Object o)
      指定されたObjectImageTypeSpecifierであり、このオブジェクトと等しいSampleModelおよびColorModelを持っている場合は、trueを返します。
      int getBitsPerBand​(int band)
      与えられたバンドのサンプルを表すために使用されるビット数を返します。
      int getBufferedImageType()
      BufferedImageから、イメージ形式を記述する列挙された定数値の1つを含むintを返します。
      ColorModel getColorModel()
      オブジェクトで指定されたColorModelを返します。
      int getNumBands()
      オブジェクトで指定されたバンドの数を返します。
      int getNumComponents()
      オブジェクトで指定された色成分の数を返します。
      SampleModel getSampleModel()
      このオブジェクト内にカプセル化された設定に基づくSampleModelを返します。
      SampleModel getSampleModel​(int width, int height)
      このオブジェクト内にカプセル化された設定に基づくSampleModelを返します。
      int hashCode()
      このImageTypeSpecifierのハッシュ・コードを返します。
    • フィールドの詳細

      • colorModel

        protected ColorModel colorModel
        プロトタイプとして使用するColorModelです。
      • sampleModel

        protected SampleModel sampleModel
        プロトタイプとして使用するSampleModelです。
    • コンストラクタの詳細

      • ImageTypeSpecifier

        public ImageTypeSpecifier​(ColorModel colorModel,
                                  SampleModel sampleModel)
        ColorModelSampleModelから直接ImageTypeSpecifierを構築します。 互換性があるパラメータを提供するのは、呼出し側の役割となります。
        パラメータ:
        colorModel - ColorModel
        sampleModel - SampleModel
        例外:
        IllegalArgumentException - いずれかのパラメータがnullの場合。
        IllegalArgumentException - sampleModelcolorModelと互換性がない場合。
      • ImageTypeSpecifier

        public ImageTypeSpecifier​(RenderedImage image)
        RenderedImageからImageTypeSpecifierを構築します。 BufferedImageを使用している場合、より正確な結果を得るために、ファクトリ・メソッドの1つであるcreateFromRenderedImageまたはcreateFromBufferedImageTypeを代わりに使用する必要があります。
        パラメータ:
        image - RenderedImage
        例外:
        IllegalArgumentException - 引数がnullの場合。
    • メソッドの詳細

      • createPacked

        public static ImageTypeSpecifier createPacked​(ColorSpace colorSpace,
                                                      int redMask,
                                                      int greenMask,
                                                      int blueMask,
                                                      int alphaMask,
                                                      int transferType,
                                                      boolean isAlphaPremultiplied)
        DirectColorModelとパックされたSampleModelを使用する、パックされたイメージ形式の指示子を返して、1 byte、short、またはintにパックされた各ピクセルを格納します。
        パラメータ:
        colorSpace - 目的のColorSpace
        redMask - 赤のチャネルの位置が示された隣接するマスク。
        greenMask - 緑のチャネルの位置が示された隣接するマスク。
        blueMask - 青のチャネルの位置が示された隣接するマスク。
        alphaMask - アルファ・チャネルの位置が示された隣接するマスク。
        transferType - 目的のSampleModel転送タイプ。
        isAlphaPremultiplied - 配色チャネルがアルファ・チャネルで倍加される場合、true
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - colorSpacenullの場合。
        IllegalArgumentException - colorSpaceがタイプTYPE_RGBでない場合。
        IllegalArgumentException - マスクに1ビットも設定されていない場合。
        IllegalArgumentException - transferTypeDataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTのいずれでもない場合。
      • createInterleaved

        public static ImageTypeSpecifier createInterleaved​(ColorSpace colorSpace,
                                                           int[] bandOffsets,
                                                           int dataType,
                                                           boolean hasAlpha,
                                                           boolean isAlphaPremultiplied)
        ComponentColorModelPixelInterleavedSampleModelを使用する、インターリーブされたイメージ形式の指示子を返して、各ピクセル構成要素を別々のbyte、short、またはintに格納します。
        パラメータ:
        colorSpace - 目的のColorSpace
        bandOffsets - 各バンドのオフセットを示すintの配列。
        dataType - 目的のデータ型を、DataBufferクラスからの列挙法の1つで表したもの。
        hasAlpha - アルファ・チャネルが必要な場合、true
        isAlphaPremultiplied - 配色チャネルがアルファ・チャネルで倍加される場合、true
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - colorSpacenullの場合。
        IllegalArgumentException - bandOffsetsnullの場合。
        IllegalArgumentException - dataTypeが正当なDataBuffer.TYPE_*定数の1つでない場合。
        IllegalArgumentException - bandOffsets.lengthがカラー領域成分の数と等しく、hasAlphatrueの場合。
      • createBanded

        public static ImageTypeSpecifier createBanded​(ColorSpace colorSpace,
                                                      int[] bankIndices,
                                                      int[] bandOffsets,
                                                      int dataType,
                                                      boolean hasAlpha,
                                                      boolean isAlphaPremultiplied)
        ComponentColorModelBandedSampleModelを使用する、バンドされたイメージ形式の指示子を返して、各チャネルを別々の配列に格納します。
        パラメータ:
        colorSpace - 目的のColorSpace
        bankIndices - 各バンドを格納するバンクを示すintの配列。
        bandOffsets - バンク内の各バンドの開始オフセットを示すintの配列。
        dataType - 目的のデータ型を、DataBufferクラスからの列挙法の1つで表したもの。
        hasAlpha - アルファ・チャネルが必要な場合、true
        isAlphaPremultiplied - 配色チャネルがアルファ・チャネルで倍加される場合、true
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - colorSpacenullの場合。
        IllegalArgumentException - bankIndicesnullの場合。
        IllegalArgumentException - bandOffsetsnullの場合。
        IllegalArgumentException - bankIndicesbandOffsetsの長さが異なる場合。
        IllegalArgumentException - bandOffsets.lengthがカラー領域成分の数と等しく、hasAlphatrueの場合。
        IllegalArgumentException - dataTypeが正当なDataBuffer.TYPE_*定数の1つでない場合。
      • createGrayscale

        public static ImageTypeSpecifier createGrayscale​(int bits,
                                                         int dataType,
                                                         boolean isSigned)
        与えられたビット深度のピクセルを、指定されたデータ型の配列要素にパックする、グレー・スケール・イメージ形式の指示子を返します。
        パラメータ:
        bits - グレー表示の値ごとのビット数(1、2、4、8、または16)。
        dataType - 目的のデータ型を、DataBufferクラスからの列挙法の1つで表したもの。
        isSigned - 負の値が表示される場合、true
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - bitsが1、2、4、8、または16のいずれでもない場合。
        IllegalArgumentException - dataTypeDataBuffer.TYPE_BYTEDataBuffer.TYPE_SHORT、またはDataBuffer.TYPE_USHORTのいずれでもない場合。
        IllegalArgumentException - bitsが指定されたdataTypeのビット・サイズより大きい場合。
      • createGrayscale

        public static ImageTypeSpecifier createGrayscale​(int bits,
                                                         int dataType,
                                                         boolean isSigned,
                                                         boolean isAlphaPremultiplied)
        与えられたビット深度のピクセルを、指定されたデータ型の配列要素にパックする、グレー・スケールとプラス・アルファのイメージ形式の指示子を返します。
        パラメータ:
        bits - グレー表示の値ごとのビット数(1、2、4、8、または16)。
        dataType - 目的のデータ型を、DataBufferクラスからの列挙法の1つで表したもの。
        isSigned - 負の値が表示される場合、true
        isAlphaPremultiplied - 輝度チャネルがアルファ・チャネルで倍加される場合、true
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - bitsが1、2、4、8、または16のいずれでもない場合。
        IllegalArgumentException - dataTypeDataBuffer.TYPE_BYTEDataBuffer.TYPE_SHORT、またはDataBuffer.TYPE_USHORTのいずれでもない場合。
        IllegalArgumentException - bitsが指定されたdataTypeのビット・サイズより大きい場合。
      • createIndexed

        public static ImageTypeSpecifier createIndexed​(byte[] redLUT,
                                                       byte[] greenLUT,
                                                       byte[] blueLUT,
                                                       byte[] alphaLUT,
                                                       int bits,
                                                       int dataType)
        与えられたビット深度のインデックス値を、指定されたデータ型の配列要素にパックする、インデックスされたカラー・イメージ形式の指示子を返します。
        パラメータ:
        redLUT - 各インデックスに対する赤の値を含むbyteの配列。
        greenLUT - 各インデックスに対する*緑の値を含むbyteの配列。
        blueLUT - 各インデックスに対する青の値を含むbyteの配列。
        alphaLUT - 各インデックスに対するアルファ値または完全に不透明なLUTを作成するためのnullを含むbyteの配列。
        bits - 各インデックスのビット数。
        dataType - 目的の出力形式を、DataBufferクラスからの列挙法の1つで表したもの。
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - redLUTnullの場合。
        IllegalArgumentException - greenLUTnullの場合。
        IllegalArgumentException - blueLUTnullの場合。
        IllegalArgumentException - bitsが1、2、4、8、または16のいずれでもない場合。
        IllegalArgumentException - null以外のLUTパラメータが、厳密に1 << bitsの長さを持たない場合。
        IllegalArgumentException - dataTypeDataBuffer.TYPE_BYTEDataBuffer.TYPE_SHORTDataBuffer.TYPE_USHORT、またはDataBuffer.TYPE_INTのいずれでもない場合。
        IllegalArgumentException - bitsが指定されたdataTypeのビット・サイズより大きい場合。
      • createFromRenderedImage

        public static ImageTypeSpecifier createFromRenderedImage​(RenderedImage image)
        RenderedImage (BufferedImageの場合もあります)の配置を符号化するImageTypeSpecifierを返します。
        パラメータ:
        image - RenderedImage
        戻り値:
        目的の特性を持つImageTypeSpecifier
        例外:
        IllegalArgumentException - imagenullの場合。
      • getNumComponents

        public int getNumComponents()
        オブジェクトで指定された色成分の数を返します。 これは、ColorModel.getNumComponentsが返す値と同じです。
        戻り値:
        イメージ内のコンポーネント数。
      • getNumBands

        public int getNumBands()
        オブジェクトで指定されたバンドの数を返します。 これは、SampleModel.getNumBandsが返す値と同じです。
        戻り値:
        イメージ内のバンド数。
      • getBitsPerBand

        public int getBitsPerBand​(int band)
        与えられたバンドのサンプルを表すために使用されるビット数を返します。
        パラメータ:
        band - 照会されるバンドのインデックスをintで表したもの。
        戻り値:
        ビット数を指定するint。
        例外:
        IllegalArgumentException - bandが負または最大のバンド・インデックスより大きい場合。
      • getSampleModel

        public SampleModel getSampleModel()
        このオブジェクト内にカプセル化された設定に基づくSampleModelを返します。 SampleModelの幅と高さは任意の値に設定されます。
        戻り値:
        任意の大きさを持つSampleModel
      • getSampleModel

        public SampleModel getSampleModel​(int width,
                                          int height)
        このオブジェクト内にカプセル化された設定に基づくSampleModelを返します。 SampleModelの幅と高さは提供された値に設定されます。
        パラメータ:
        width - 返されたSampleModelの目的の幅。
        height - 返されたSampleModelの目的の高さ。
        戻り値:
        与えられた大きさを持つSampleModel
        例外:
        IllegalArgumentException - widthまたはheightが負または0の場合。
        IllegalArgumentException - widthheightの積がInteger.MAX_VALUEより大きい場合
      • getColorModel

        public ColorModel getColorModel()
        オブジェクトで指定されたColorModelを返します。
        戻り値:
        ColorModel
      • createBufferedImage

        public BufferedImage createBufferedImage​(int width,
                                                 int height)
        このオブジェクトに取り入れられた指定に従って、指定された幅と高さのBufferedImageを作成します。
        パラメータ:
        width - 返されたBufferedImageの目的の幅。
        height - 返されたBufferedImageの目的の高さ。
        戻り値:
        新しいBufferedImage。
        例外:
        IllegalArgumentException - widthまたはheightが負または0の場合。
        IllegalArgumentException - widthheightの積がInteger.MAX_VALUEより大きい場合、またはイメージを格納するために必要な配列要素の数がInteger.MAX_VALUEより大きい場合。
      • equals

        public boolean equals​(Object o)
        指定されたObjectImageTypeSpecifierであり、このオブジェクトと等しいSampleModelおよびColorModelを持っている場合は、trueを返します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        o - 等しいかどうかを比較する対象のObject
        戻り値:
        与えられたオブジェクトがImageTypeSpecifierと等しい場合、true
        関連項目:
        Object.hashCode()HashMap