public class ComponentColorModel extends ColorModel
ColorModel类作品,代表颜色和alpha信息作为单独的样品和存储在一个单独的数据元素,每个样本像素值。这个类可以使用任意
ColorSpace。在像素值的颜色样本数必须相同,在
ColorSpace颜色分量数。可能有一个单一的α样品。
这些方法的使用原始阵列像素表示的类型transferType,数组的长度是相同数量的颜色和alpha样品。颜色样本存储在数组中的第一个其次是阿尔法样品,如果存在。颜色样本的顺序由ColorSpace指定。通常情况下,这个顺序反映了颜色空间类型的名称。例如,对于TYPE_RGB,指数0对应红色,指数1绿2蓝,和指数。
从像素样本值到颜色/颜色/α分量的显示或处理目的的翻译是基于一对一的样品的一对一的对应关系。根据用于创建ComponentColorModel实例的传输类型,通过实例表示的像素值可能有符号或无符号和有整体式或浮或双(详情见下文)。从样本值到标准化颜色/阿尔法组件的翻译必须遵循一定的规则。对于浮点和双样本,翻译是一个身份,即标准化的分量值等于相应的样本值。对于整体样本,翻译应该只有一个简单的规模和偏移量,其中的规模和偏移常数可能是不同的每个组件。应用的规模和偏移常数的结果是一组颜色/α-组分值,这是保证在一定范围内下降。通常,一个颜色分量的范围将由ColorSpace班getMinValue和getMaxValue方法定义的范围。阿尔法组件的范围应该是0到1。
用转移类型DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT ComponentColorModel创建实例,并DataBuffer.TYPE_INT已经作为无符号整数值的像素样本值。比特数在颜色或α-一个像素值的样本可能不相同的比特数的对应的颜色或α样品传递到ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)构造函数。在这种情况下,这个类假设一个样本值的最不重要的n位保持组件值,其中n是传递给构造函数的组件的重要位的数目。它还假定样本值中的任何高阶位都为零。因此,样本值的范围从0到1 2n。这类映射这些样本值归一化颜色分量的值,0映射到值的每个组件,2n - ColorSpace's getMinValue方法获得了1 getMaxValue得到价值的Map,用不同的颜色样本映射创建一个ComponentColorModel需要继承这个类并重写getNormalizedComponents(Object, float[], int)方法。一个alpha样本映射总是Map0 0和1 1 2n。
带符号的采样值的情况下,非标准化的颜色和alpha分量表示只支持如果两条件。首先,样本值0必须映射到标准化组件的值0和样本值2n - 1至1。第二最小/最大范围的ColorSpace所有颜色分量必须是0到1。在这种情况下,组件表示是对应的样本的n个最不重要的位。因此,每个组件是0和1之间2n unsigned整型值,其中N是对特定组件的有效位数。如果这些条件不满足,任何方法以非标准化的组件参数将抛出一个IllegalArgumentException。
用转移类型DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT ComponentColorModel创建实例,并DataBuffer.TYPE_DOUBLE已经作为签署短,浮动像素样本值,或双值。这种情况下不支持非标准化的颜色/ alpha分量表示,所以任何方法以这样的表示为论据,将抛出一个IllegalArgumentException当要求一个以上的情况。这个类的实例的归一化元件值有一个范围,这取决于传输类型如下:浮样本,对float数据类型齐全;双样本的float数据类型的全方位(从铸造双浮动导致);短样本,从约到Maxval + Maxval,哪里Maxval每个组件的最大值为ColorSpace(32767图0图- Maxval,0,和32767的Map+ Maxval)。子类可以重写短样本值归一化元件值通过重写getNormalizedComponents(Object, float[], int)缩放方法。对于浮点和双样本,标准化的组件值被等同于对应的样本值,子类不应该尝试添加任何这些传输类型的非身份缩放。
用转移类型DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT ComponentColorModel创建实例,并DataBuffer.TYPE_DOUBLE利用所有样本值的所有位。因此所有的颜色/α成分中有16位使用DataBuffer.TYPE_SHORT时,32位和64位DataBuffer.TYPE_FLOAT时使用,使用时DataBuffer.TYPE_DOUBLE。当构造函数的ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)形式是用一个传输类型,比特数组参数被忽略。
它是可能的颜色/α-样本值不能被合理地解释为渲染的组件值。这可能发生在ComponentColorModel是子类重写映射的符号的采样值归一化彩色分量值或当签名样本值超出一定范围内的应用。(例如,指定一个alpha分量作为签署短值范围之外的0到32767,正常范围0到1,会导致意外的结果。)它是应用程序的责任适当规模的像素数据在渲染之前,颜色分量属于的ColorSpace归一化范围(使用的ColorSpace类的getMinValue和getMaxValue方法获得)和alpha分量是0和1之间。如果颜色或阿尔法组件值落在这些范围之外,渲染结果是不确定的。
方法:使用一个单一的整数像素表示抛出IllegalArgumentException,除非为ComponentColorModel组件的数量是一个组件的值是无符号的,换句话说,用一个DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT转移型单一颜色分量,或DataBuffer.TYPE_INT无α。
一个ComponentColorModel可以与ComponentSampleModel,结合BandedSampleModel,或PixelInterleavedSampleModel构建BufferedImage。
pixel_bits, transferTypeBITMASK, OPAQUE, TRANSLUCENT| Constructor and Description |
|---|
ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
构建了从指定的参数
ComponentColorModel。
|
ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
构建了从指定的参数
ComponentColorModel。
|
| Modifier and Type | Method and Description |
|---|---|
ColorModel |
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
军队的栅格数据匹配在
isAlphaPremultiplied变量所指定的状态,假设数据是目前的
ColorModel正确描述。
|
SampleModel |
createCompatibleSampleModel(int w, int h)
创建一个具有指定宽度和高度
SampleModel,具有数据的布局,这
ColorModel兼容。
|
WritableRaster |
createCompatibleWritableRaster(int w, int h)
创建一个具有指定宽度和高度
WritableRaster,具有数据布局(
SampleModel)这
ColorModel兼容。
|
boolean |
equals(Object obj)
与另一个相等的颜色模型进行比较。
|
int |
getAlpha(int pixel)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
int |
getAlpha(Object inData)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
WritableRaster |
getAlphaRaster(WritableRaster raster)
返回一个
Raster表示图像的alpha通道,从输入
Raster提取。
|
int |
getBlue(int pixel)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getBlue(Object inData)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB
ColorSpace,sRGB。
|
int[] |
getComponents(int pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel像素元件。
|
int[] |
getComponents(Object pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel像素元件。
|
int |
getDataElement(float[] normComponents, int normOffset)
返回一个表示在这一
int
ColorModel像素值,给定一个数组归一化颜色/ alpha分量。
|
int |
getDataElement(int[] components, int offset)
返回一个表示该
ColorModel整数像素值,给定一个数组的非标准化的颜色和alpha分量。
|
Object |
getDataElements(float[] normComponents, int normOffset, Object obj)
返回一个在这
ColorModel像素数据元素的数组表示,给定一个数组归一化颜色/ alpha分量。
|
Object |
getDataElements(int[] components, int offset, Object obj)
返回一个在这
ColorModel像素数据元素的数组表示,鉴于一系列化的颜色和alpha分量。
|
Object |
getDataElements(int rgb, Object pixel)
返回一个在这
ColorModel像素数据元素的数组表示,鉴于在默认的RGB颜色模型的整数像素表示。
|
int |
getGreen(int pixel)
返回指定像素的绿色成分,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getGreen(Object inData)
返回指定像素的绿色成分,比例从0到255在默认的RGB
ColorSpace,sRGB。
|
float[] |
getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
返回所有的规范形式的颜色/阿尔法元件阵列,给出一个非标准化的组件阵列。
|
float[] |
getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
返回所有的规范形式的颜色/α组成阵列,在这
ColorModel像素。
|
int |
getRed(int pixel)
返回为指定像素的红色分量,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getRed(Object inData)
返回为指定像素的红色分量,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getRGB(int pixel)
返回在默认的RGB颜色模型格式的像素的颜色和alpha分量。
|
int |
getRGB(Object inData)
返回在默认的RGB颜色模型格式指定像素的颜色和alpha分量。
|
int[] |
getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
返回所有在非规格化形式的颜色/阿尔法元件阵列,给出归一化元件阵列。
|
boolean |
isCompatibleRaster(Raster raster)
如果
raster与
ColorModel兼容返回真;假如不。
|
boolean |
isCompatibleSampleModel(SampleModel sm)
检查是否
SampleModel与
ColorModel兼容。
|
finalize, getColorSpace, getComponentSize, getComponentSize, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, hasAlpha, hashCode, isAlphaPremultiplied, toStringpublic ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ComponentColorModel。颜色分量将在指定的
ColorSpace。支持的传输类型
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,和
DataBuffer.TYPE_DOUBLE。如果不为null,这
bits数组指定每种颜色和alpha分量和长度显著的比特数,如果像素值没有alpha信息至少数组成的
ColorSpace,或一个比这一数字如果有alpha信息。当
transferType是
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE
bits阵列的参数被忽略。
hasAlpha指示是否存在α-信息。如果
hasAlpha属实,那么布尔
isAlphaPremultiplied指定如何解释颜色和像素值α样品。如果布尔值是真的,颜色样本被假定为乘以α样本。指定的
transparencyα值可以通过这种颜色模型来表示。可接受的
transparency值
OPAQUE,
BITMASK或
TRANSLUCENT。的
transferType是原始数组用来表示像素值的类型。
colorSpace -这种颜色模型相关的
ColorSpace。
bits -每部分重要的比特数。可以是空的,在这种情况下,所有的组件的所有位将是显着的。如果transfertype是
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE忽略,在这种情况下,所有位的所有组件的样品将显著。
hasAlpha -如果是真的,这个颜色模型支持阿尔法。
isAlphaPremultiplied -如果属实,α进行。
transparency -指定alpha值可以通过这种颜色模型来表示。
transferType -指定原始数组用来表示像素值的类型。
IllegalArgumentException -如果
bits数组参数不为空,其长度小于颜色和alpha组件的数量和transfertype是
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
IllegalArgumentException -如果transfertype不是一
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
ColorSpace,
Transparency
public ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ComponentColorModel从指定的参数。颜色分量将在指定的
ColorSpace。支持的传输类型
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,和
DataBuffer.TYPE_DOUBLE。每个颜色和阿尔法组件的显着位的数量将是8,16,32,16,32,或64,分别。颜色分量的数量将在
ColorSpace组件的数量。还有如果
hasAlpha是
true是alpha分量。如果
hasAlpha属实,那么布尔
isAlphaPremultiplied指定如何解释颜色和像素值α样品。如果布尔值是真的,颜色样本被假定为乘以α样本。指定的
transparencyα值可以通过这种颜色模型来表示。可接受的
transparency值
OPAQUE,
BITMASK或
TRANSLUCENT。的
transferType是原始数组用来表示像素值的类型。
colorSpace -这种颜色模型相关的
ColorSpace。
hasAlpha -如果是真的,这个颜色模型支持阿尔法。
isAlphaPremultiplied -如果属实,α进行。
transparency -指定alpha值可以通过这种颜色模型来表示。
transferType -指定原始数组用来表示像素值的类型。
IllegalArgumentException -如果transfertype不是一
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
ColorSpace,
Transparency
public int getRed(int pixel)
getRed 方法重写,继承类
ColorModel
pixel -像素,你想得到的红色分量。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel分量值的签署
public int getGreen(int pixel)
getGreen 方法重写,继承类
ColorModel
pixel -像素,你想获得绿色成分。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel分量值的签署
public int getBlue(int pixel)
getBlue 方法重写,继承类
ColorModel
pixel -像素,你想要蓝色的成分。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel分量值的签署
public int getAlpha(int pixel)
getAlpha 方法重写,继承类
ColorModel
pixel -像素,你想得到的alpha分量。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel分量值的签署
public int getRGB(int pixel)
getRGB 方法重写,继承类
ColorModel
pixel -像素,你想得到的颜色/ alpha分量。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel分量值的签署
ColorModel.getRGBdefault()
public int getRed(Object inData)
pixel值由式
transferType通过为一个对象引用的数据元素的数组指定。返回的值将是一个非预乘的值。如果α进行,该方法将在返回值(如果α值为0,红色的值是0)。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getRed 方法重写,继承类
ColorModel
inData -从你希望得到红颜色分量的像素,通过
transferType型数据元素的数组指定。
ClassCastException -如果
inData不是原始的数组类型
transferType。
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
public int getGreen(Object inData)
ColorSpace,sRGB。如果必要的话,做一个颜色转换。的
pixel值由式
transferType通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。如果α进行,此方法将返回值(如果之前的alpha值是0,绿色的值是0)。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getGreen 方法重写,继承类
ColorModel
inData -从你想要绿颜色分量的像素,通过
transferType型数据元素的数组指定。
ClassCastException -如果
inData不是原始的数组类型
transferType。
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
public int getBlue(Object inData)
ColorSpace,sRGB。如果必要的话,做一个颜色转换。的
pixel值由式
transferType通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。如果α进行,该方法将在返回值(如果α值为0,蓝色的值是0)。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getBlue 方法重写,继承类
ColorModel
inData -从你想要蓝色的颜色分量的像素,通过
transferType型数据元素的数组指定。
ClassCastException -如果
inData不是原始的数组类型
transferType。
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
public int getAlpha(Object inData)
transferType型通过为一个对象引用的数据元素的数组指定。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getAlpha 方法重写,继承类
ColorModel
inData -从你想得到的alpha分量的像素,通过
transferType型数据元素的数组指定。
ClassCastException -如果
inData不是原始的数组类型
transferType。
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
public int getRGB(Object inData)
transferType型通过为一个对象引用的数据元素的数组指定。返回的值是在一个非预乘以格式。如果α进行,该方法将它的颜色成分(如α值为0,色值是0)。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getRGB 方法重写,继承类
ColorModel
inData -从你想要的颜色和alpha分量的像素,通过
transferType型数据元素的数组指定。
ClassCastException -如果
inData不是原始的数组类型
transferType。
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel像素数据元素的数组表示,鉴于在默认的RGB颜色模型的整数像素表示。那么这个阵列可以通过一个
WritableRaster对象的
setDataElements方法。如果
pixel参数为空,创建一个新数组。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
getDataElements 方法重写,继承类
ColorModel
rgb - RGB颜色模型中的像素的整数表示
pixel -指定像素
ColorModel像素数据元素的数组表示。
pixel
ClassCastException不是空的,不是原始的数组类型
transferType。
pixel
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int[] getComponents(int pixel,
int[] components,
int offset)
ColorModel像素组成。IllegalArgumentException是如果在非标准化的形式对这
ColorModel分量值不方便可抛。颜色/ alpha分量存储在
components阵列从
offset(即使阵列通过这种方法分配)。
getComponents 方法重写,继承类
ColorModel
pixel指定为一个整数像素值。
components -其中一个整数数组来存储化的颜色/ alpha分量。如果
components数组为空,创建一个新数组。
offset -偏移到
components阵列。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ColorModel不支持非规格化形式
ArrayIndexOutOfBoundsException -如果
components数组不为空,不足以容纳所有的颜色和alpha组件(起始偏移)。
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel像素组成,像素值是由
transferType型通过为一个对象引用的数据元素的数组指定。IllegalArgumentException是如果这
ColorModel元件值在规范形式不方便可抛。颜色/ alpha分量存储在
components阵列从
offset(即使阵列通过这种方法分配)。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,那么这种方法可能会使用不支持的
transferType抛出异常。
getComponents 方法重写,继承类
ColorModel
pixel -一个由
transferType型数据元素的数组指定的像素值。
components -其中一个整数数组来存储化的颜色/ alpha分量。如果
components数组为空,创建一个新数组。
offset -偏移到
components阵列。
components阵列。
IllegalArgumentException -如果这
ComponentColorModel不支持非规格化形式
UnsupportedOperationException -在某些情况下,当且仅当这
ComponentColorModel转移类型不是以下一种转移类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
ClassCastException -如果
pixel不是原始的数组类型
transferType。
IllegalArgumentException -如果
components数组不为空,不足以容纳所有的颜色和alpha组件(起始偏移),或者如果
pixel不足以容纳这要一个像素值。
public int[] getUnnormalizedComponents(float[] normComponents,
int normOffset,
int[] components,
int offset)
ColorModel的
ColorSpace对象指定。一个
IllegalArgumentException将如果这
ColorModel颜色分量值在规范形式不方便可抛。如果
components阵列
null,一个新的数组将被分配。
components将返回的数组。颜色/ alpha分量存储在
components阵列从
offset(即使阵列通过这种方法分配)。一个
ArrayIndexOutOfBoundsException抛出如果
components数组不
null不足以容纳所有的颜色和alpha分量(从
offset)。一个
IllegalArgumentException抛出如果
normComponents阵列不足以容纳所有的颜色和alpha组件开始
normOffset。
getUnnormalizedComponents 方法重写,继承类
ColorModel
normComponents -一个数组包含标准化组件
normOffset -偏移到
normComponents阵列,开始检索标准化组件
components -一个数组,从
normComponents接收组件
offset -指数为
components在开始储存
normComponents归一化元件
IllegalArgumentException -如果这
ComponentColorModel不支持非规格化形式
IllegalArgumentException -如果
normComponents减
normOffset长度小于
numComponents
public float[] getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset)
ColorModel的
ColorSpace对象指定。一个
IllegalArgumentException将如果这
ColorModel颜色分量值在规范形式不方便可抛。如果
normComponents阵列
null,一个新的数组将被分配。
normComponents将返回的数组。颜色/ alpha分量存储在
normComponents阵列从
normOffset(即使阵列通过这种方法分配)。一个
ArrayIndexOutOfBoundsException抛出如果
normComponents数组不
null不足以容纳所有的颜色和alpha分量(从
normOffset)。一个
IllegalArgumentException抛出如果
components阵列不足以容纳所有的颜色和alpha组件开始
offset。
getNormalizedComponents 方法重写,继承类
ColorModel
components -一个数组包含非标准化的组件
offset -偏移到
components阵列,开始检索的非标准化的组件
normComponents -阵列接收标准化组件
normOffset -指数为
normComponents开始存储元件的标准化
IllegalArgumentException -如果这
ComponentColorModel不支持非规格化形式
public int getDataElement(int[] components,
int offset)
ColorModel整数像素值,给定一个数组的非标准化的颜色和alpha分量。
getDataElement 方法重写,继承类
ColorModel
components -一系列化的颜色和alpha分量。
offset -偏移到
components阵列。
IllegalArgumentException -如果有这
ColorModel多个组件。
IllegalArgumentException -如果这
ComponentColorModel不支持非规格化形式
public Object getDataElements(int[] components, int offset, Object obj)
ColorModel像素数据元素的数组表示,鉴于一系列化的颜色和alpha分量。那么这个阵列可以通过一个
WritableRaster对象的
setDataElements方法。
getDataElements 方法重写,继承类
ColorModel
components -一系列化的颜色和alpha分量。
offset -整数偏移到
components阵列。
obj在对象存储像素数据元素的数组表示。如果
obj变量为空,创建一个新数组。如果
obj不是空的,它必须是一个原始的数组类型
transferType。如果一个
ArrayIndexOutOfBoundsException
obj不足以容纳这
ColorModel像素值扔。因为
ComponentColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
ColorModel像素数据元素的数组表示。
IllegalArgumentException如果元件阵列不足以容纳所有的颜色和alpha组件(起始偏移)。
obj
ClassCastException不是空的,不是原始的数组类型
transferType。
obj
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
IllegalArgumentException -如果这
ComponentColorModel不支持非规格化形式
UnsupportedOperationException -如果这
ComponentColorModel转移类型不是以下一种转移类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int getDataElement(float[] normComponents,
int normOffset)
int
ColorModel像素值,给定一个数组归一化颜色/ alpha分量。该方法将如果这
ColorModel像素值不方便的表示为单
int抛出
IllegalArgumentException。一个
ArrayIndexOutOfBoundsException抛出如果
normComponents阵列不足以容纳所有的颜色和alpha分量(从
normOffset)。
getDataElement 方法重写,继承类
ColorModel
normComponents -数组归一化颜色和alpha分量
normOffset -指数为
normComponents,开始检索颜色和alpha分量
ColorModel对应于指定组件的
int像素值。
IllegalArgumentException -如果这
ColorModel像素值表示为一个单一的
int不方便
ArrayIndexOutOfBoundsException -如果
normComponents阵列不足以容纳所有的颜色和alpha组件开始
normOffset
public Object getDataElements(float[] normComponents, int normOffset, Object obj)
ColorModel像素数据元素的数组表示,给定一个数组归一化颜色/ alpha分量。那么这个阵列可以通过一个
WritableRaster对象的
setDataElements方法。一个
ArrayIndexOutOfBoundsException抛出如果
normComponents阵列不足以容纳所有的颜色和alpha分量(从
normOffset)。如果
obj变量
null,一个新的数组将被分配。如果
obj不
null,它必须是一个原始的数组类型transfertype;否则,一个
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
obj不足以容纳这
ColorModel像素值扔。
getDataElements 方法重写,继承类
ColorModel
normComponents -数组归一化颜色和alpha分量
normOffset -指数为
normComponents,开始检索颜色和alpha分量
obj -原始数据数组来保存返回的像素
Object是原始数据数组表示一个像素
ClassCastException -如果
obj不是原始的数组类型
transferType
obj
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel或
normComponents阵列的像素值不足以容纳所有的颜色和alpha组件开始
normOffset
WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
ColorModel像素。像素值是由transfertype型通过为一个对象引用的数据元素的数组指定。如果像素不是原始的数组类型transfertype,一
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
pixel不足以容纳这
ColorModel像素值扔。归一化元件浮值之间的每个组件的最小和最大的这
ColorModel的
ColorSpace对象指定。如果
normComponents阵列
null,一个新的数组将被分配。
normComponents将返回的数组。颜色/ alpha分量存储在
normComponents阵列从
normOffset(即使阵列通过这种方法分配)。一个
ArrayIndexOutOfBoundsException抛出如果
normComponents数组不
null不足以容纳所有的颜色和alpha分量(从
normOffset)。
这个方法必须被的子类,如果子类被设计成像素样本值在非默认的颜色分量值。该类实现的默认的翻译在类注释中描述。任何一个子类实现一个非默认的翻译必须遵循的限制,允许翻译定义有。
getNormalizedComponents 方法重写,继承类
ColorModel
pixel -指定像素
normComponents -阵列接收标准化组件
normOffset -偏移到
normComponents阵列在开始储存标准化组件
ClassCastException -如果
pixel不是原始的数组类型transfertype
normComponents
ArrayIndexOutOfBoundsException不足以容纳所有的颜色和alpha组件开始
normOffset
pixel
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied变量所指定的状态,假设数据是目前的
ColorModel正确描述。它可以乘或除以彩色栅格数据的阿尔法,或什么都不做,如果数据是在正确的状态。如果数据需要被强制的,这种方法也会返回适当的设置与
isAlphaPremultiplied旗本
ColorModel实例。因为
ColorModel可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType。
coerceData 方法重写,继承类
ColorModel
raster -
WritableRaster数据
isAlphaPremultiplied -
true如果α进行
false否则;
ColorModel表示强制数据。
NullPointerException -如果
raster是
null数据强制要求。
UnsupportedOperationException -如果这
ComponentColorModel转移类型不受支持的传输类型:
DataBuffer.TYPE_BYTE,
DataBuffer.TYPE_USHORT,
DataBuffer.TYPE_INT,
DataBuffer.TYPE_SHORT,
DataBuffer.TYPE_FLOAT,或
DataBuffer.TYPE_DOUBLE。
public boolean isCompatibleRaster(Raster raster)
raster与
ColorModel兼容返回真;假如不。
isCompatibleRaster 方法重写,继承类
ColorModel
raster -兼容性测试的
Raster对象。
true如果
raster与
ColorModel兼容,
false如果不是。
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster,具有数据布局(
SampleModel)这
ColorModel兼容。
createCompatibleWritableRaster 方法重写,继承类
ColorModel
w -你想要创建的
WritableRaster宽度。
h -你想要创建的
WritableRaster高度。
WritableRaster,这
ColorModel兼容。
WritableRaster,
SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel,具有数据的布局,这
ColorModel兼容。
createCompatibleSampleModel 方法重写,继承类
ColorModel
w -你想要创建的
SampleModel宽度。
h -你想要创建的
SampleModel高度。
SampleModel,这
ColorModel兼容。
SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel与
ColorModel兼容。
isCompatibleSampleModel 方法重写,继承类
ColorModel
sm -
SampleModel测试兼容性。
true如果
SampleModel与
ColorModel兼容,
false如果不是。
SampleModel
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster表示图像的alpha通道,从输入
Raster提取。这种方法假设
Raster对象这
ColorModel店α波段,相关如果存在,作为图像数据的最后一个乐队。如果没有独立空间的alpha通道这
ColorModel相关返回null。此方法创建一个新
Raster,但将共享数据阵列。
getAlphaRaster 方法重写,继承类
ColorModel
raster -从中提取α通道的
WritableRaster。
WritableRaster包含图像的alpha通道。
public boolean equals(Object obj)
equals 方法重写,继承类
ColorModel
obj -这个颜色模型对象的比较。
true如果颜色模型中的对象都是平等的,如果他们不是
false。
Object.hashCode(),
HashMap
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.