|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.imageio
类 ImageTypeSpecifier
java.lang.Object javax.imageio.ImageTypeSpecifier
-
public class ImageTypeSpecifier
- extends Object
允许以便捷方式指定图像格式(尤其是其 SampleModel
和 ColorModel
)的类。
字段摘要 | |
---|---|
protected ColorModel |
colorModel 将用作原型的 ColorModel 。 |
protected SampleModel |
sampleModel 将用作原型的 SampleModel 。 |
构造方法摘要 | |
---|---|
ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel) 直接根据 ColorModel 和 SampleModel 构造一个 ImageTypeSpecifier 。 |
|
ImageTypeSpecifier(RenderedImage image) 根据 RenderedImage 构造一个 ImageTypeSpecifier 。 |
方法摘要 | |
---|---|
static ImageTypeSpecifier |
createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied) 返回带状图像格式的说明符,它将使用 ComponentColorModel 和 BandedSampleModel 来存储单独数组中的每个通道。 |
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) 返回灰度级图像格式的说明符,它会将给定位深 (bit depth) 的像素压缩成指定数据类型的数组元素。 |
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) 返回交错图像格式的说明符,它将使用 ComponentColorModel 和 PixelInterleavedSampleModel 来存储单个 byte、short 或 int 值形式的每个像素组件。 |
static ImageTypeSpecifier |
createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied) 返回压缩图像格式的说明符,它将使用 DirectColorModel 和一个压缩的 SampleModel 来存储压缩成单个 byte、short 或 int 值的像素。 |
boolean |
equals(Object o) 如果给定 Object 是一个 ImageTypeSpecifier 并且具有与此对象相同的 SampleModel 和 ColorModel ,则返回 true 。 |
int |
getBitsPerBand(int band) 返回用来表示给定 band 样本的位数。 |
int |
getBufferedImageType() 返回一个 int 值,它包含某一来自 BufferedImage 的描述图像的枚举常量值。 |
ColorModel |
getColorModel() 返回此对象指定的 ColorModel 。 |
int |
getNumBands() 返回此对象指定的 band 数。 |
int |
getNumComponents() 返回此对象指定的颜色组件的数量。 |
SampleModel |
getSampleModel() 根据此对象中封装的设置返回一个 SampleModel 。 |
SampleModel |
getSampleModel(int width, int height) 根据此对象中封装的设置值返回一个 SampleModel 。 |
int |
hashCode() 返回此 ImageTypeSpecifier 的哈希码。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
colorModel
protected ColorModel colorModel
-
将用作原型的
ColorModel
。
sampleModel
protected SampleModel sampleModel
-
将用作原型的
SampleModel
。
构造方法详细信息 |
---|
ImageTypeSpecifier
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
-
直接根据
ColorModel
和SampleModel
构造一个ImageTypeSpecifier
。由调用方负责提供兼容的参数。- 参数:
-
colorModel
- 一个ColorModel
。 -
sampleModel
- 一个SampleModel
。 - 抛出:
-
IllegalArgumentException
- 如果任意一个参数为null
。 -
IllegalArgumentException
- 如果sampleModel
与colorModel
不兼容。
ImageTypeSpecifier
public ImageTypeSpecifier(RenderedImage image)
-
根据
RenderedImage
构造一个ImageTypeSpecifier
。如果使用的是BufferedImage
,为了获得更精确的结果,应该使用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
来存储压缩成单个 byte、short 或 int 值的像素。 -
- 参数:
-
colorSpace
- 所需的ColorSpace
。 -
redMask
- 指示红色通道位置的邻接掩码。 -
greenMask
- 指示绿色通道位置的邻接掩码。 -
blueMask
- 指示蓝色通道位置的邻接掩码。 -
alphaMask
- 指示 alpha 通道位置的邻接掩码。 -
transferType
- 所需的SampleModel
传输类型。 -
isAlphaPremultiplied
- 如果颜色通道将预乘以 alpha 通道,则该参数为true
。 - 返回:
-
具有所需特征的
ImageTypeSpecifier
。 - 抛出:
-
IllegalArgumentException
- 如果colorSpace
为null
。 -
IllegalArgumentException
- 如果colorSpace
的类型不是TYPE_RGB
。 -
IllegalArgumentException
- 如果没有掩码至少有一个位集。 -
IllegalArgumentException
- 如果transferType
不是DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
或DataBuffer.TYPE_INT
之一。
createInterleaved
public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
-
返回交错图像格式的说明符,它将使用
ComponentColorModel
和PixelInterleavedSampleModel
来存储单个 byte、short 或 int 值形式的每个像素组件。 -
- 参数:
-
colorSpace
- 所需的ColorSpace
。 -
bandOffsets
- 指示每个 band 的偏移量的int
数组。 -
dataType
- 所需的数据类型,它是DataBuffer
类中的枚举之一。 -
hasAlpha
- 如果需要 alpha 通道,则该参数为true
。 -
isAlphaPremultiplied
- 如果颜色通道将预乘以 alpha 通道,则该参数为true
。 - 返回:
-
具有所需特征的
ImageTypeSpecifier
。 - 抛出:
-
IllegalArgumentException
- 如果colorSpace
为null
。 -
IllegalArgumentException
- 如果bandOffsets
为null
。 -
IllegalArgumentException
- 如果dataType
不是合法的DataBuffer.TYPE_*
常量之一。 -
IllegalArgumentException
- 如果bandOffsets.length
不等于颜色空间组件的数量;如果hasAlpha
为true
时,该长度不等于组件数量加 1。
createBanded
public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
-
返回带状图像格式的说明符,它将使用
ComponentColorModel
和BandedSampleModel
来存储单独数组中的每个通道。 -
- 参数:
-
colorSpace
- 所需的ColorSpace
。 -
bankIndices
- 一个int
数组,指示用来存储每个 band 的库。 -
bandOffsets
- 一个int
数组,指示其库中每个 band 的起始偏移量。 -
dataType
- 所需的数据类型,它是DataBuffer
类中的枚举之一。 -
hasAlpha
- 如果需要 alpha 通道,则该参数为true
。 -
isAlphaPremultiplied
- 如果颜色通道将预乘以 alpha 通道,则该参数为true
。 - 返回:
-
具有所需特征的
ImageTypeSpecifier
。 - 抛出:
-
IllegalArgumentException
- 如果colorSpace
为null
。 -
IllegalArgumentException
- 如果bankIndices
为null
。 -
IllegalArgumentException
- 如果bandOffsets
为null
。 -
IllegalArgumentException
- 如果bankIndices
和bandOffsets
的长度不同。 -
IllegalArgumentException
- 如果bandOffsets.length
不等于颜色空间组件的数量;如果hasAlpha
为true
时,该长度不等于组件数量加 1。 -
IllegalArgumentException
- 如果dataType
不是合法的DataBuffer.TYPE_*
常量之一。
createGrayscale
public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned)
- 返回灰度级图像格式的说明符,它会将给定位深 (bit depth) 的像素压缩成指定数据类型的数组元素。
-
- 参数:
-
bits
- 每个灰度值的位数(1、2、4、8 或 16)。 -
dataType
- 所需的数据类型,它是DataBuffer
类中的枚举之一。 -
isSigned
- 如果要表示负值,则该参数为true
。 - 返回:
-
具有所需特征的
ImageTypeSpecifier
。 - 抛出:
-
IllegalArgumentException
- 如果bits
不是 1、2、4、8 或 16 之一。 -
IllegalArgumentException
- 如果dataType
不是DataBuffer.TYPE_BYTE
、DataBuffer.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
。 -
isAlphaPremultiplied
- 如果亮度通道将乘以 alpha 通道,则该参数为true
。 - 返回:
-
具有所需特征的
ImageTypeSpecifier
。 - 抛出:
-
IllegalArgumentException
- 如果bits
不是 1、2、4、8 或 16 之一。 -
IllegalArgumentException
- 如果dataType
不是DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_SHORT
或DataBuffer.TYPE_USHORT
之一。 -
IllegalArgumentException
- 如果bits
大于给定dataType
的位大小。