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, transferType
BITMASK, 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, toString
public 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.