|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.imageio.ImageTypeSpecifier
public class ImageTypeSpecifier
允许以便捷方式指定图像格式(尤其是其 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 |
字段详细信息 |
---|
protected ColorModel colorModel
ColorModel
。
protected SampleModel sampleModel
SampleModel
。
构造方法详细信息 |
---|
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
ColorModel
和 SampleModel
构造一个 ImageTypeSpecifier
。由调用方负责提供兼容的参数。
colorModel
- 一个 ColorModel
。sampleModel
- 一个 SampleModel
。
IllegalArgumentException
- 如果任意一个参数为 null
。
IllegalArgumentException
- 如果 sampleModel
与 colorModel
不兼容。public ImageTypeSpecifier(RenderedImage image)
RenderedImage
构造一个 ImageTypeSpecifier
。如果使用的是 BufferedImage
,为了获得更精确的结果,应该使用 createFromRenderedImage
或 createFromBufferedImageType
这两个工厂方法之一。
image
- 一个 RenderedImage
。
IllegalArgumentException
- 如果该参数为 null
。方法详细信息 |
---|
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
之一。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。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_*
常量之一。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_BYTE
、DataBuffer.TYPE_SHORT
或 DataBuffer.TYPE_USHORT
之一。
IllegalArgumentException
- 如果 bits
大于给定 dataType
的位大小。public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned, boolean isAlphaPremultiplied)
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
的位大小。public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT, byte[] alphaLUT, int bits, int dataType)
redLUT
- 一个 byte
数组,包含每个索引的 red 值。greenLUT
- 一个 byte
数组,包含每个索引的 green 值。blueLUT
- 一个 byte
数组,包含每个索引的 blue 值。alphaLUT
- 一个 byte
数组,包含每个索引的 alpha 值;或者为 null
,表示创建一个完全不透明的 LUT。bits
- 每个索引中的位数。dataType
- 所需的输出类型,它是 DataBuffer
类中的枚举之一。
ImageTypeSpecifier
。
IllegalArgumentException
- 如果 redLUT
为 null
。
IllegalArgumentException
- 如果 greenLUT
为 null
。
IllegalArgumentException
- 如果 blueLUT
为 null
。
IllegalArgumentException
- 如果 bits
不是 1、2、4、8 或 16 之一。
IllegalArgumentException
- 如果非 null
LUT 参数的长度不能正好满足 1 << bits
。
IllegalArgumentException
- 如果 dataType
不是 DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_SHORT
、DataBuffer.TYPE_USHORT
或 DataBuffer.TYPE_INT
之一。
IllegalArgumentException
- 如果 bits
大于给定 dataType
的位大小。public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType)
ImageTypeSpecifier
,它将对某一标准 BufferedImage
类型(而不是 TYPE_CUSTOM
)进行编码。
bufferedImageType
- 表示某一标准 BufferedImage
类型的 int 值。
ImageTypeSpecifier
。
IllegalArgumentException
- 如果 bufferedImageType
不是标准类型之一,或者它等于 TYPE_CUSTOM
。BufferedImage
,
BufferedImage.TYPE_INT_RGB
,
BufferedImage.TYPE_INT_ARGB
,
BufferedImage.TYPE_INT_ARGB_PRE
,
BufferedImage.TYPE_INT_BGR
,
BufferedImage.TYPE_3BYTE_BGR
,
BufferedImage.TYPE_4BYTE_ABGR
,
BufferedImage.TYPE_4BYTE_ABGR_PRE
,
BufferedImage.TYPE_USHORT_565_RGB
,
BufferedImage.TYPE_USHORT_555_RGB
,
BufferedImage.TYPE_BYTE_GRAY
,
BufferedImage.TYPE_USHORT_GRAY
,
BufferedImage.TYPE_BYTE_BINARY
,
BufferedImage.TYPE_BYTE_INDEXED
public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image)
ImageTypeSpecifier
,它将对 RenderedImage
(可能是 BufferedImage
)的布局进行编码。
image
- 一个 RenderedImage
。
ImageTypeSpecifier
。
IllegalArgumentException
- 如果 image
为 null
。public int getBufferedImageType()
BufferedImage
的描述图像的枚举常量值。
BufferedImage
类型的 int
。BufferedImage
,
BufferedImage.TYPE_CUSTOM
,
BufferedImage.TYPE_INT_RGB
,
BufferedImage.TYPE_INT_ARGB
,
BufferedImage.TYPE_INT_ARGB_PRE
,
BufferedImage.TYPE_INT_BGR
,
BufferedImage.TYPE_3BYTE_BGR
,
BufferedImage.TYPE_4BYTE_ABGR
,
BufferedImage.TYPE_4BYTE_ABGR_PRE
,
BufferedImage.TYPE_USHORT_565_RGB
,
BufferedImage.TYPE_USHORT_555_RGB
,
BufferedImage.TYPE_BYTE_GRAY
,
BufferedImage.TYPE_USHORT_GRAY
,
BufferedImage.TYPE_BYTE_BINARY
,
BufferedImage.TYPE_BYTE_INDEXED
public int getNumComponents()
ColorModel.getNumComponents
返回的值。
public int getNumBands()
SampleModel.getNumBands
返回的值。
public int getBitsPerBand(int band)
band
- 将被查询的 band 的索引(int 值形式)。
IllegalArgumentException
- 如果 band
为负或大于最大 band 索引。public SampleModel getSampleModel()
SampleModel
。SampleModel
的宽度和高度将被设置为任意值。
SampleModel
。public SampleModel getSampleModel(int width, int height)
SampleModel
。SampleModel
的宽度和高度将被设置为所提供的值。
width
- 返回的 SampleModel
的所需宽度。height
- 返回的 SampleModel
的所需高度。
SampleModel
。
IllegalArgumentException
- 如果 width
或 height
为负数或零。
IllegalArgumentException
- 如果 width
和 height
的值大于 Integer.MAX_VALUE
public ColorModel getColorModel()
ColorModel
。
ColorModel
。public BufferedImage createBufferedImage(int width, int height)
BufferedImage
。
width
- 返回的 BufferedImage
的所需宽度。height
- 返回的 BufferedImage
的所需高度。
BufferedImage
IllegalArgumentException
- 如果 width
或 height
为负数或零。
IllegalArgumentException
- 如果 width
和 height
的值大于 Integer.MAX_VALUE
,或者存储图像所需的数组元素数大于 Integer.MAX_VALUE
。public boolean equals(Object o)
Object
是一个 ImageTypeSpecifier
并且具有与此对象相同的 SampleModel
和 ColorModel
,则返回 true
。
o
- 将用于相等性比较的 Object
。
ImageTypeSpecifier
,则返回 true
。Object.hashCode()
,
Hashtable
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。