Module  java.desktop
软件包  javax.imageio

Class ImageTypeSpecifier



  • public class ImageTypeSpecifier
    extends Object
    允许以方便的方式指定图像的格式(特别是其 SampleModelColorModel )的类。
    • 方法摘要

      所有方法  静态方法  接口方法  具体的方法 
      Modifier and Type 方法 描述
      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)
      返回一个 ImageTypeSpecifier ,编码一个标准的 BufferedImage类型( TYPE_CUSTOM )。
      static ImageTypeSpecifier createFromRenderedImage​(RenderedImage image)
      返回一个 ImageTypeSpecifier编码的布局 RenderedImage (其可以是 BufferedImage )。
      static ImageTypeSpecifier createGrayscale​(int bits, int dataType, boolean isSigned)
      返回一个灰度图像格式的说明符,该格式将将给定位深度的像素包装为指定数据类型的数组元素。
      static ImageTypeSpecifier createGrayscale​(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
      返回一个用于灰度加Alpha图像格式的说明符,它将给定位深度的像素包装为指定数据类型的数组元素。
      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将每个像素组件存储在单独的字节,短或整数中。
      static ImageTypeSpecifier createPacked​(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
      返回一个打包图像格式的说明符,该格式将使用 DirectColorModel和打包的 SampleModel来存储单个字节,短或整数的每个像素。
      boolean equals​(Object o)
      如果给定的 ObjectImageTypeSpecifier并且具有与该对象相同的 SampleModelColorModel ,则返回 true
      int getBitsPerBand​(int band)
      返回用于表示给定波段的样本的位数。
      int getBufferedImageType​()
      返回一个包含从 BufferedImage描述图像格式的枚举常量值的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
        A SampleModel用作原型。
    • 构造方法详细信息

      • ImageTypeSpecifier

        public ImageTypeSpecifier​(ColorModel colorModel,
                                  SampleModel sampleModel)
        构造一个ImageTypeSpecifier直接从ColorModelSampleModel 主叫方有责任提供兼容的参数。
        参数
        colorModel - a ColorModel
        sampleModel - a SampleModel
        异常
        IllegalArgumentException - 如果任一参数是 null
        IllegalArgumentException - 如果 sampleModelcolorModel不兼容。
      • ImageTypeSpecifier

        public ImageTypeSpecifier​(RenderedImage image)
        构造一个ImageTypeSpecifierRenderedImage 如果使用BufferedImage使用其中一种工厂方法createFromRenderedImagecreateFromBufferedImageType ,以获得更准确的结果。
        参数
        image - a RenderedImage
        异常
        IllegalArgumentException - 如果参数是 null
    • 方法详细信息

      • createPacked

        public static ImageTypeSpecifier createPacked​(ColorSpace colorSpace,
                                                      int redMask,
                                                      int greenMask,
                                                      int blueMask,
                                                      int alphaMask,
                                                      int transferType,
                                                      boolean isAlphaPremultiplied)
        返回一个打包图像格式的说明符,该格式将使用 DirectColorModel和打包的 SampleModel来存储单个字节,短或整数的每个像素。
        参数
        colorSpace - 所需的 ColorSpace
        redMask - 连续的掩码表示红色通道的位置。
        greenMask - 连续的掩码表示绿色通道的位置。
        blueMask - 连续的掩码表示蓝色通道的位置。
        alphaMask - 连续的掩码表示Alpha通道的位置。
        transferType - 所需的 SampleModel传输类型。
        isAlphaPremultiplied - true如果颜色通道将被alpha通道预乘。
        结果
        一个 ImageTypeSpecifier具有所需的特性。
        异常
        IllegalArgumentException - 如果 colorSpacenull
        IllegalArgumentException - 如果 colorSpace不是类型 TYPE_RGB
        IllegalArgumentException - 如果没有掩码至少设置1位。
        IllegalArgumentException -如果 transferType如果不是一个 DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT ,或 DataBuffer.TYPE_INT
      • createInterleaved

        public static ImageTypeSpecifier createInterleaved​(ColorSpace colorSpace,
                                                           int[] bandOffsets,
                                                           int dataType,
                                                           boolean hasAlpha,
                                                           boolean isAlphaPremultiplied)
        返回用于交错图像格式的说明符,将使用 ComponentColorModelPixelInterleavedSampleModel将每个像素组件存储在单独的字节,短或int中。
        参数
        colorSpace - 所需的 ColorSpace
        bandOffsets - 表示每个频带的偏移的 int的阵列。
        dataType - 所需的数据类型,作为 DataBuffer类的枚举之一。
        如果需要alpha通道,则为 hasAlpha - true
        isAlphaPremultiplied - true如果颜色通道将被alpha通道预乘。
        结果
        一个 ImageTypeSpecifier具有所需的特性。
        异常
        IllegalArgumentException - 如果 colorSpacenull
        IllegalArgumentException - 如果 bandOffsetsnull
        IllegalArgumentException - 如果 dataType不是合法的 DataBuffer.TYPE_*常量之一。
        IllegalArgumentException - 如果 bandOffsets.length不等于颜色空间分量的数量,如果 hasAlphatrue ,则加1。
      • createBanded

        public static ImageTypeSpecifier createBanded​(ColorSpace colorSpace,
                                                      int[] bankIndices,
                                                      int[] bandOffsets,
                                                      int dataType,
                                                      boolean hasAlpha,
                                                      boolean isAlphaPremultiplied)
        返回带状图像格式的说明符,将使用 ComponentColorModelBandedSampleModel将每个通道存储在单独的阵列中。
        参数
        colorSpace - 所需的 ColorSpace
        bankIndices - 表示存储每个频带的存储体的阵列 int s。
        bandOffsets - int s的数组,表示其银行中每个频带的起始偏移量。
        dataType - 所需的数据类型,作为 DataBuffer类中的枚举之一。
        如果需要alpha通道,则为 hasAlpha - true
        isAlphaPremultiplied - true如果颜色通道将被alpha通道预乘。
        结果
        一个 ImageTypeSpecifier具有所需的特性。
        异常
        IllegalArgumentException - 如果 colorSpacenull
        IllegalArgumentException - 如果 bankIndicesnull
        IllegalArgumentException - 如果 bandOffsetsnull
        IllegalArgumentException - 如果 bankIndicesbandOffsets的长度不同。
        IllegalArgumentException - 如果 bandOffsets.length不等于颜色空间分量的数量,如果 hasAlphatrue ,则加1。
        IllegalArgumentException - 如果 dataType不是合法的 DataBuffer.TYPE_*常数之一。
      • createGrayscale

        public static ImageTypeSpecifier createGrayscale​(int bits,
                                                         int dataType,
                                                         boolean isSigned)
        返回一个灰度图像格式的说明符,该格式将将给定位深度的像素包装为指定数据类型的数组元素。
        参数
        bits - 每个灰度值的位数(1,2,4,8或16)。
        dataType - 所需的数据类型,作为 DataBuffer类的枚举之一。
        如果要表示负值, isSigned - true
        结果
        一个 ImageTypeSpecifier具有所需的特点。
        异常
        IllegalArgumentException - 如果 bits不是1,2,4,8或16中的一个。
        IllegalArgumentException -如果 dataType不是一个 DataBuffer.TYPE_BYTEDataBuffer.TYPE_SHORT ,或 DataBuffer.TYPE_USHORT
        IllegalArgumentException - 如果 bits大于给定的 dataType的位大小。
      • createGrayscale

        public static ImageTypeSpecifier createGrayscale​(int bits,
                                                         int dataType,
                                                         boolean isSigned,
                                                         boolean isAlphaPremultiplied)
        返回一个用于灰度加Alpha图像格式的说明符,它将给定位深度的像素包装为指定数据类型的数组元素。
        参数
        bits - 每个灰度值的位数(1,2,4,8或16)。
        dataType - 所需的数据类型,作为 DataBuffer类中的枚举之一。
        isSigned - true如果要表示负值。
        如果亮度通道将被alpha通道预乘,则 isAlphaPremultiplied - true
        结果
        一个 ImageTypeSpecifier具有所需的特性。
        异常
        IllegalArgumentException - 如果 bits不是1,2,4,8或16中的一个。
        IllegalArgumentException -如果 dataType不是一个 DataBuffer.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 - 包含每个索引的alpha值的 byte的数组,或 null创建完全不透明的LUT。
        bits - 每个索引中的位数。
        dataType - 所需的输出类型,作为 DataBuffer类的枚举之一。
        结果
        一个 ImageTypeSpecifier具有所需的特性。
        异常
        IllegalArgumentException - 如果 redLUTnull
        IllegalArgumentException - 如果 greenLUTnull
        IllegalArgumentException - 如果 blueLUTnull
        IllegalArgumentException - 如果 bits不是1,2,4,8或16中的一个。
        IllegalArgumentException - 如果非 null LUT参数的长度不完全为 1 << bits
        IllegalArgumentException -如果 dataType不是一个 DataBuffer.TYPE_BYTEDataBuffer.TYPE_SHORTDataBuffer.TYPE_USHORT ,或 DataBuffer.TYPE_INT
        IllegalArgumentException - 如果 bits大于给定的 dataType的位大小。
      • createFromRenderedImage

        public static ImageTypeSpecifier createFromRenderedImage​(RenderedImage image)
        返回一个 ImageTypeSpecifier编码的布局 RenderedImage (其可以是 BufferedImage )。
        参数
        image - a 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 - 如果 widthheight为负数或零。
        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 - 如果 widthheight为负数或零。
        IllegalArgumentException - 如果 widthheight的产品大于 Integer.MAX_VALUE ,或者如果存储图像所需的数组元素数大于 Integer.MAX_VALUE
      • equals

        public boolean equals​(Object o)
        如果给定的 ObjectImageTypeSpecifier并且具有与该对象相同的 SampleModelColorModel ,则返回 true
        重写:
        equalsObject
        参数
        o - 要平等比较的 Object
        结果
        true如果给定的对象是等效的 ImageTypeSpecifier
        另请参见:
        Object.hashCode()HashMap