public class ImageTypeSpecifier extends Object
SampleModel
和
ColorModel
)的类。
Modifier and Type | Field and Description |
---|---|
protected ColorModel |
colorModel
ColorModel 被用作原型。
|
protected SampleModel |
sampleModel
A
SampleModel 用作原型。
|
Constructor and Description |
---|
ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
构造一个
ImageTypeSpecifier 直接从
ColorModel 和
SampleModel 。
|
ImageTypeSpecifier(RenderedImage image)
从
RenderedImage
ImageTypeSpecifier 一个
RenderedImage 。
|
Modifier and Type | Method and Description |
---|---|
static ImageTypeSpecifier |
createBanded(ColorSpace colorSpace, int[] bankIndices, int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied)
返回一个带状图像格式的说明符,该格式将使用
ComponentColorModel 和
BandedSampleModel 将每个通道存储在单独的数组中。
|
BufferedImage |
createBufferedImage(int width, int height)
根据此对象中体现的
BufferedImage ,创建一个给定宽度和高度的BufferedImage。
|
static ImageTypeSpecifier |
createFromBufferedImageType(int bufferedImageType)
返回一个
ImageTypeSpecifier 为
BufferedImage 类型之一(
TYPE_CUSTOM )的
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)
返回一个交错图像格式的说明符,它将使用
ComponentColorModel 和
PixelInterleavedSampleModel 将每个像素组件存储在单独的字节,短或int中。
|
static ImageTypeSpecifier |
createPacked(ColorSpace colorSpace, int redMask, int greenMask, int blueMask, int alphaMask, int transferType, boolean isAlphaPremultiplied)
返回一个用于打包图像格式的说明符,它将使用
DirectColorModel 和打包的
SampleModel 来存储单个字节,短或int中打包的每个像素。
|
boolean |
equals(Object o)
如果给定的
Object 是
ImageTypeSpecifier ,并且具有与该对象相同的
SampleModel 和
ColorModel ,则返回
true 。
|
int |
getBitsPerBand(int band)
返回用于表示给定波段的样本的位数。
|
int |
getBufferedImageType()
返回包含描述从图像的枚举常数值之一的int
BufferedImage 。
|
ColorModel |
getColorModel()
返回此对象指定的
ColorModel 。
|
int |
getNumBands()
返回此对象指定的频带数。
|
int |
getNumComponents()
返回此对象指定的颜色成分数。
|
SampleModel |
getSampleModel()
根据封装在此对象内的设置返回一个
SampleModel 。
|
SampleModel |
getSampleModel(int width, int height)
根据封装在此对象内的设置返回
SampleModel 。
|
int |
hashCode()
返回此ImageTypeSpecifier的哈希码。
|
protected ColorModel colorModel
ColorModel
作为原型使用。
protected SampleModel sampleModel
SampleModel
用作原型。
public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel)
ImageTypeSpecifier
直接从ColorModel
和SampleModel
。
主叫方有责任提供兼容的参数。
colorModel
- a
ColorModel
。
sampleModel
- a
SampleModel
。
IllegalArgumentException
- 如果任一参数是
null
。
IllegalArgumentException
-如果
sampleModel
不兼容
colorModel
。
public ImageTypeSpecifier(RenderedImage image)
RenderedImage
ImageTypeSpecifier
一个RenderedImage
。
如果正在使用BufferedImage
使用其中一种工厂方法createFromRenderedImage
或createFromBufferedImageType
,以获得更准确的结果。
image
- a
RenderedImage
。
IllegalArgumentException
- 如果参数是
null
。
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
- 连续的掩码表示阿尔法通道的位置。
transferType
- 所需的
SampleModel
传输类型。
isAlphaPremultiplied
-
true
如果颜色通道将被alpha通道预乘。
ImageTypeSpecifier
具有所需特性。
IllegalArgumentException
- 如果
colorSpace
是
null
。
IllegalArgumentException
- 如果
colorSpace
不是类型
TYPE_RGB
。
IllegalArgumentException
- 如果没有掩码至少设置1位。
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
将每个像素组件存储在单独的字节,短或int中。
colorSpace
- 所需的
ColorSpace
。
bandOffsets
- 表示每个频带的偏移的
int
的数组。
dataType
- 所需的数据类型,作为
DataBuffer
类的
DataBuffer
。
hasAlpha
-
true
如果需要alpha通道。
isAlphaPremultiplied
-
true
如果颜色通道将被alpha通道预乘。
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
的阵列。
bandOffsets
-
int
s的数组,
int
其银行中每个频带的起始偏移量。
dataType
- 所需的数据类型,作为
DataBuffer
类的
DataBuffer
。
hasAlpha
-
true
如果需要alpha通道。
isAlphaPremultiplied
-
true
如果颜色通道将被alpha通道预乘。
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
- 每个灰度值的位数(
bits
或16)。
dataType
- 所需的数据类型,作为
DataBuffer
类的
DataBuffer
。
isSigned
-
true
如果要表示负值。
ImageTypeSpecifier
具有所需特性。
IllegalArgumentException
- 如果
bits
不是
bits
或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
- 每个灰度值的位数(
bits
或16)。
dataType
- 所需的数据类型,作为
DataBuffer
类的
DataBuffer
。
isSigned
-
true
如果要表示负值。
isAlphaPremultiplied
-
true
如果亮度通道将被alpha通道预乘。
ImageTypeSpecifier
具有所需的特性。
IllegalArgumentException
- 如果
bits
不是
bits
或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
s的数组。
greenLUT
- 一个
greenLUT
的数组,
byte
*每个索引的绿色值。
blueLUT
- 包含每个索引的蓝色值的
byte
s的数组。
alphaLUT
-的阵列
byte
包含每个索引α值S,或
null
创建完全不透明LUT。
bits
- 每个索引中的位数。
dataType
- 所需的输出类型,作为
DataBuffer
类的
DataBuffer
。
ImageTypeSpecifier
具有所需特性。
IllegalArgumentException
- 如果
redLUT
是
null
。
IllegalArgumentException
- 如果
greenLUT
是
null
。
IllegalArgumentException
- 如果
blueLUT
是
null
。
IllegalArgumentException
- 如果
bits
不是
bits
或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
- a
RenderedImage
。
ImageTypeSpecifier
具有所需特性。
IllegalArgumentException
- 如果
image
是
null
。
public int getBufferedImageType()
BufferedImage
。
int
BufferedImage
类型的
BufferedImage
。
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
- 要查询的乐队的索引,作为int。
IllegalArgumentException
- 如果
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
,创建一个给定宽度和高度的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
。
equals
在
Object
o
- 要比较的
Object
相等。
true
如果给定的对象是等效的
ImageTypeSpecifier
。
Object.hashCode()
, HashMap
public int hashCode()
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)