public abstract class ColorModel extends Object implements Transparency
ColorModel抽象类封装方法用于将像素值的颜色分量(例如,红色,绿色,和蓝色)和一个alpha组件。为了将图像呈现在屏幕、打印机或另一个图像中,像素值必须转换为颜色和α分量。作为参数或返回值这类方法,像素为32位整数或原始类型数组。的数量,顺序,和一
ColorModel颜色分量的解释是由其
ColorSpace指定。像素数据,不包含alpha信息对所有像素为不透明的用
ColorModel,这是Alpha值为1。
这ColorModel类支持两表示像素值。一个像素的值可以是一个32位整数或原始类型的数组。java(TM)平台1和1.1的API代表像素单byte或单int值。对ColorModel类用途,像素值参数传递int。java(TM)2平台API引入附加的类为代表的图像。与BufferedImage或RenderedImage对象,基于Raster和SampleModel类,像素值可能不方便的表示为单个int,因此,ColorModel现在已经接受的像素值表示为原始类型数组的方法。由一个特定的ColorModel对象使用的原始类型称为转移型。
ColorModel对象与图像的像素值不方便的表示为单个int抛出IllegalArgumentException当方法以单个int参数称为像素。子ColorModel必须指定条件下发生这种情况。这不DirectColorModel或IndexColorModel对象发生。
目前,由java 2D支持的传输类型(TM)API databuffer.type_byte,databuffer.type_ushort,databuffer.type_int,databuffer.type_short,databuffer.type_float,和databuffer.type_double。大多数的渲染操作将执行得更快时,使用基于第一三种colormodels和图像。此外,一些图像滤波操作是基于后者的三种类型colormodels图像支持。对于一个特定的ColorModel转移对象类型指定创建对象时,无论是明示或默认。所有子类ColorModel必须指定什么转会的类型以及如何在代表像素的原始数组的元素个数的确定。
对于BufferedImages,其Raster的Raster对象的SampleModel转移型(可从这些类的getTransferType方法)必须符合的ColorModel。在代表该Raster和SampleModel像素数组元素的个数(可从这些类的getNumDataElements方法)必须符合的ColorModel。
用于将从像素值转换为颜色和α分量的算法,通过子类。例如,不一定是一对一的对应关系SampleModel样品从一BufferedImage对象的Raster和颜色/ alpha分量。即使有这样的对应关系,在一个样本中的比特数不一定是相同的比特数在相应的颜色/α分量。每个子类必须指定如何从像素值到颜色/颜色/阿尔法组件的翻译。
在ColorModel类使用颜色和alpha分量-两种不同的表示形式和非规范的形式化方法。在归一化的形式,每个组件是一个float值之间的最小和最大值。对于α组分,最小为0,最大为1。对于每个组件的最大值和最小值可以从ColorSpace对象获得的颜色成分。这些值往往是0和1(例如归一化为默认的sRGB色彩空间范围的元件值从0到1),但有些颜色空间分量的值不同的上限和下限。这些限制可以使用的ColorSpace班getMinValue和getMaxValue方法获得。归一化彩色分量值不进行。所有的ColorModels必须支持的标准形式。
在非规格化形式,每个组件是0和1之间2n unsigned整型值,其中N是对特定组件的有效位数。如果一个特定的ColorModel像素值表示的颜色样本的样本进行α化的颜色分量值,并进行。化的形式使用的ColorModel的ColorSpace已经和所有组件的所有组件的最大值为1 0最小分量值的实例。非标准化的形式对颜色和alpha组件可以方便的表示ColorModels的归一化元件值0和1之间的所有谎言。在这样的情况下,积分值0图0和价值2n 1图1。在其他情况下,如在归一化元件值可以是积极的或是消极的,非标准化的形式是不方便。这样的ColorModel对象时抛出一个IllegalArgumentException涉及规范论证的方法被称为。子ColorModel必须指定条件下发生这种情况。
| Modifier and Type | Field and Description |
|---|---|
protected int |
pixel_bits
像素中的位的总数。
|
protected int |
transferType
用于表示像素值的数组的数据类型。
|
BITMASK, OPAQUE, TRANSLUCENT| Modifier | Constructor and Description |
|---|---|
|
ColorModel(int bits)
构建了一个
ColorModel转换指定的比特数的像素颜色/ alpha分量。
|
protected |
ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
构建了一个
ColorModel将像素值的颜色/ alpha分量。
|
| Modifier and Type | Method and Description |
|---|---|
ColorModel |
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
军队的栅格数据匹配在
isAlphaPremultiplied变量所指定的状态,假设数据是目前的
ColorModel正确描述。
|
SampleModel |
createCompatibleSampleModel(int w, int h)
创建一个具有指定宽度和高度,具有数据的布局,这
ColorModel兼容
SampleModel。
|
WritableRaster |
createCompatibleWritableRaster(int w, int h)
创建一个具有指定宽度和高度,具有数据布局
WritableRaster(
SampleModel)这
ColorModel兼容。
|
boolean |
equals(Object obj)
如果指定的
Object是
ColorModel实例,如果它等于这
ColorModel。
|
void |
finalize()
配置系统资源,这
ColorModel相关这一
ColorModel不再被引用。
|
abstract int |
getAlpha(int pixel)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
int |
getAlpha(Object inData)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
WritableRaster |
getAlphaRaster(WritableRaster raster)
返回一个
Raster表示图像的alpha通道,从输入
Raster提取,但这
ColorModel像素值表示为单独的空间带颜色和alpha信息(例如
|
abstract int |
getBlue(int pixel)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getBlue(Object inData)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB
ColorSpace,sRGB。
|
ColorSpace |
getColorSpace()
返回与此相关的
ColorSpace
ColorModel。
|
int[] |
getComponents(int pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel像素元件。
|
int[] |
getComponents(Object pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel像素元件。
|
int[] |
getComponentSize()
返回一个颜色/α分量的比特数的数组。
|
int |
getComponentSize(int componentIdx)
返回指定颜色/阿尔法组件的比特数。
|
int |
getDataElement(float[] normComponents, int normOffset)
返回一个表示为一个
int这
ColorModel像素值,给定一个数组归一化颜色/ alpha分量。
|
int |
getDataElement(int[] components, int offset)
返回一个表示在这一
int
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颜色模型的整数像素表示。
|
abstract 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 |
getNumColorComponents()
返回在这
ColorModel颜色分量数。
|
int |
getNumComponents()
返回组件数量包括α,这
ColorModel。
|
int |
getPixelSize()
返回每像素所描述的这
ColorModel比特数。
|
abstract int |
getRed(int pixel)
返回为指定像素的红色分量,比例从0到255在默认的RGB颜色空间,sRGB。
|
int |
getRed(Object inData)
返回为指定像素的红色分量,比例从0到255在默认的RGB
ColorSpace,sRGB。
|
int |
getRGB(int pixel)
返回在默认的RGB颜色模型格式的像素的颜色和alpha分量。
|
int |
getRGB(Object inData)
返回在默认的RGB颜色模型格式指定像素的颜色和alpha分量。
|
static ColorModel |
getRGBdefault()
返回一个
DirectColorModel描述了用于多为程序员提供方便在AWT图像界面的方法,整数的RGB值的默认格式。
|
int |
getTransferType()
返回该
ColorModel转移型。
|
int |
getTransparency()
返回透明度。
|
int[] |
getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
返回所有在非规格化形式的颜色/阿尔法元件阵列,给出归一化元件阵列。
|
boolean |
hasAlpha()
返回是否在这
ColorModel支持阿尔法。
|
int |
hashCode()
这要返回的哈希码。
|
boolean |
isAlphaPremultiplied()
返回是否已进行α在像素值被这
ColorModel翻译。
|
boolean |
isCompatibleRaster(Raster raster)
返回
true如果不是
raster与
ColorModel和
false兼容。
|
boolean |
isCompatibleSampleModel(SampleModel sm)
检查
SampleModel与
ColorModel兼容。
|
String |
toString()
返回该
ColorModelobject内容
String表示。
|
protected int pixel_bits
protected int transferType
public ColorModel(int bits)
ColorModel转换指定的比特数的像素颜色/ alpha分量。颜色空间是RGB
ColorSpace,这是sRGB。像素值被假定为包括α-信息。如果颜色和alpha信息在像素值表示为单独的空间乐队,乐队的颜色都不可与α值进行。透明型是java.awt.transparency.translucent。转移型是最小的databuffer.type_byte,databuffer.type_ushort,或databuffer.type_int可以容纳一个像素(或databuffer.type_undefined如果位大于32)。由于该构造函数没有关于颜色和阿尔法分量的比特数的信息,任何调用此构造函数的子类都应该重写任何需要此信息的方法。
bits -一个像素的比特数
IllegalArgumentException -如果
bits比特数小于1
protected ColorModel(int pixel_bits,
int[] bits,
ColorSpace cspace,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
ColorModel将像素值的颜色/ alpha分量。颜色分量将在指定的
ColorSpace。
pixel_bits在像素值的比特数。位数组指定每颜色和α分量的显位数。它的长度应该在像素值没有alpha信息在
ColorSpace组件的数量,或者超过这个数如果有alpha信息。
hasAlpha指示是否存在α-信息。的
boolean
isAlphaPremultiplied指定如何解释其中的颜色和alpha信息表示为独立空间波段的像素值。如果
boolean是
true,色样的假设已乘以α样品。指定的
transparencyα值可以通过这种颜色模型来表示。传输类型是用于表示像素值的原始数组的类型。请注意,位数组包含从像素值的翻译后,每颜色/阿尔法分量的显着位数。例如,对于
pixel_bits等于16个
IndexColorModel,比特数组有四元素的每个元素设置为8。
pixel_bits在像素值的比特数
bits数组指定数量的显著位颜色和alpha分量
cspace -指定
ColorSpace
hasAlpha -
true如果alpha信息是存在的;
false否则
isAlphaPremultiplied -
true如果颜色样品是由α样品进行
false否则;
transparency -α值可以通过这种颜色模型来表示
transferType -用来表示像素值的数组类型
IllegalArgumentException如果比特数组的长度小于这个
ColorModel颜色和alpha分量数,或如果透明度不是有效值。
IllegalArgumentException -如果在
bits比特数之和小于1或任何元素的
bits小于0。
Transparency
public static ColorModel getRGBdefault()
DirectColorModel描述了用于多为程序员提供方便在AWT图像界面的方法,整数的RGB值的默认格式。颜色空间是默认的
ColorSpace,sRGB。对于RGB值的格式是一个8位的每个α,红色,绿色和蓝色的颜色成分有序整数,相应地从最重要的字节的最低有效字节,如:0xaarrggbb。颜色分量不预乘alpha分量。此格式不一定代表人或为一个特定的设备或所有图像的最有效的
ColorModel。它仅仅是作为一种常见的颜色模型格式。
DirectColorModelobject描述默认的RGB值。
public final boolean hasAlpha()
ColorModel支持阿尔法。
true如果α是这
ColorModel支持;
false否则。
public final boolean isAlphaPremultiplied()
ColorModel翻译。如果布尔是
true,这
ColorModel是用来解释其中的颜色和alpha信息表示为独立空间波段的像素值,样品颜色都是假定乘以α样品。
true如果α值的像素值进行了
ColorModel翻译;
false否则。
public final int getTransferType()
ColorModel转移型。传输类型是用于表示像素值作为数组的原始数组的类型。
public int getPixelSize()
ColorModel比特数。
public int getComponentSize(int componentIdx)
ColorSpace指定顺序索引。通常情况下,这个顺序反映了颜色空间类型的名称。例如,对于type_rgb,指数0对应红色,指数1绿2蓝,和指数。如果这
ColorModel支持阿尔法,阿尔法分量对应于指数继上个颜色分量。
componentIdx -索引的颜色/ alpha分量
ArrayIndexOutOfBoundsException -如果
componentIdx大于或小于零的数的组成
NullPointerException如果比特阵列的数量
null
public int[] getComponentSize()
ColorSpace指定顺序的颜色分量,其次是alpha分量,如果存在。
public int getTransparency()
getTransparency 接口
Transparency
ColorModel透明度。
Transparency.OPAQUE,
Transparency.BITMASK,
Transparency.TRANSLUCENT
public int getNumComponents()
ColorModel。这是相当于颜色组件的数量,可选加一个,如果有一个阿尔法组件。
ColorModel组件的数量
public int getNumColorComponents()
ColorModel颜色分量数。这是组件的数量由
ColorSpace.getNumComponents()。
ColorModel颜色分量数。
ColorSpace.getNumComponents()
public abstract int getRed(int pixel)
IllegalArgumentException是如果这
ColorModel像素值不方便的表示为一个单一的int返回值不是一个预先乘以价值投。例如,如果α进行,该方法将在返回值。如果α值为0,红色值为0。
pixel -指定像素
public abstract int getGreen(int pixel)
IllegalArgumentException是如果这
ColorModel像素值不方便的表示为一个单一的int返回值是一个非预乘的价值投。例如,如果α进行,该方法将在返回值。如果α值为0,绿色值为0。
pixel -指定像素
public abstract int getBlue(int pixel)
IllegalArgumentException抛出如果这
ColorModel像素值不方便表示为一个单一的int返回值是一个非预乘的值,例如,如果α进行,该方法将在返回值。如果α值为0,蓝色值为0。
pixel -指定像素
public abstract int getAlpha(int pixel)
IllegalArgumentException是如果这
ColorModel像素值不方便的表示为一个单一的国际投
pixel -指定像素
public int getRGB(int pixel)
IllegalArgumentException扔如果这
ColorModel像素值不方便表示为一个单一的int返回值是一个非预乘的格式。例如,如果α进行,这种方法分出来的颜色分量。如果α值为0,颜色值为0。
pixel -指定像素
getRGBdefault()
public int getRed(Object inData)
ColorSpace,sRGB。如果必要的话,做一个颜色转换。像素值是由transfertype型通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。例如,如果α进行,该方法将在返回值。如果α值为0,红色值为0。如果
inData不是原始的数组类型transfertype,一
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
inData不足以容纳这
ColorModel像素值扔。如果这
transferType是不支持的,一个
UnsupportedOperationException将抛出。因为
ColorModel是一个抽象类,任何情况下必须是一个子类的实例。子类继承这个方法的实现,如果不推翻它,这个方法会抛出一个异常如果子类使用一个
transferType
DataBuffer.TYPE_BYTE以外,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
inData -像素值的数组
ClassCastException -如果
inData不是原始的数组类型
transferType
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值
UnsupportedOperationException -如果这是不被支持的
ColorModel
tranferType
public int getGreen(Object inData)
ColorSpace,sRGB。如果必要的话,做一个颜色转换。像素值是由transfertype型通过为一个对象引用的数据元素的数组指定。返回的值将是一个非预乘的值。例如,如果α进行,该方法将在返回值。如果α值为0,绿色值为0。如果
inData不是原始的数组类型transfertype,一
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
inData不足以容纳这
ColorModel像素值扔。如果这
transferType是不支持的,一个
UnsupportedOperationException将抛出。因为
ColorModel是一个抽象类,任何情况下必须是一个子类的实例。子类继承这个方法的实现,如果不推翻它,这个方法会抛出一个异常如果子类使用一个
transferType
DataBuffer.TYPE_BYTE以外,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
inData -像素值的数组
ClassCastException -如果
inData不是原始的数组类型
transferType
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值
UnsupportedOperationException -如果这是不被支持的
ColorModel
tranferType
public int getBlue(Object inData)
ColorSpace,sRGB。如果必要的话,做一个颜色转换。像素值是由transfertype型通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。例如,如果α进行,该方法将在返回值。如果α值为0,蓝色值将为0。如果
inData不是原始的数组类型transfertype,一
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
inData不足以容纳这
ColorModel像素值扔。如果这
transferType是不支持的,一个
UnsupportedOperationException将抛出。因为
ColorModel是一个抽象类,任何情况下必须是一个子类的实例。子类继承这个方法的实现,如果不推翻它,这个方法会抛出一个异常如果子类使用一个
transferType
DataBuffer.TYPE_BYTE以外,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
inData -像素值的数组
ClassCastException -如果
inData不是原始的数组类型
transferType
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值
UnsupportedOperationException -如果这是不被支持的
ColorModel
tranferType
public int getAlpha(Object inData)
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
inData不足以容纳这
ColorModel像素值扔。如果这
transferType是不支持的,一个
UnsupportedOperationException将抛出。因为
ColorModel是一个抽象类,任何情况下必须是一个子类的实例。子类继承这个方法的实现,如果不推翻它,这个方法会抛出一个异常如果子类使用一个
transferType
DataBuffer.TYPE_BYTE以外,
DataBuffer.TYPE_USHORT,或
DataBuffer.TYPE_INT。
inData -指定像素
ClassCastException -如果
inData不是原始的数组类型
transferType
inData
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值
UnsupportedOperationException -如果这是不被支持的
ColorModel
tranferType
public int getRGB(Object inData)
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
inData不足以容纳这
ColorModel像素值扔。返回的值将在非预乘的格式,即如果α进行,该方法将它分出来的颜色成分(如α值为0,色值是0)。
inData -指定像素
getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel像素数据元素的数组表示,鉴于在默认的RGB颜色模型的整数像素表示。那么这个阵列可以通过一个
WritableRaster对象的
WritableRaster.setDataElements(int, int, java.lang.Object)方法。如果像素变为
null,一个新的数组将被分配。如果
pixel不
null,它必须是一个原始的数组类型
transferType;否则,一个
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
pixel不足以容纳这
ColorModel像素值被返回的像素阵列。如果这
transferType是不支持的,一个
UnsupportedOperationException将抛出。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
rgb -在默认的RGB颜色模型的整数像素表示
pixel -指定像素
ColorModel指定像素数组表示。
ClassCastException -如果
pixel不是原始的数组类型
transferType
pixel
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值
UnsupportedOperationException -如果这个方法不支持这
ColorModel
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像素元件。像素值指定为
int。一个
IllegalArgumentException将如果这
ColorModel像素值不方便的表示为单
int或如果这
ColorModel颜色分量值在规范形式不方便可抛。例如,该方法可用于检索在
DirectColorModel特定像素值的组件。如果组件阵列
null,一个新的数组将被分配。将返回组件数组。颜色/阿尔法组件是存储元件阵列从
offset(即使阵列通过这种方法分配)。一个
ArrayIndexOutOfBoundsException抛出如果元件阵列的不
null不足以容纳所有的颜色和alpha组件(起始偏移)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
pixel -指定像素
components -阵列接收的颜色和指定像素的alpha分量
offset的偏移,
components阵列开始存储颜色和alpha分量
UnsupportedOperationException -如果这个方法不支持这
ColorModel
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel像素元件。像素值是由transfertype型通过为一个对象引用的数据元素的数组指定。如果
pixel不是原始的数组类型transfertype,一
ClassCastException抛出。一个
IllegalArgumentException将如果这
ColorModel颜色分量值在规范形式不方便可抛。如果一个
ArrayIndexOutOfBoundsException
pixel不足以容纳这
ColorModel像素值扔。此方法可用于检索在任何
ColorModel特定像素值的组件。如果元件阵列
null,一个新的数组将被分配。将返回组件数组。颜色/ alpha分量存储在
components阵列从
offset(即使阵列通过这种方法分配)。一个
ArrayIndexOutOfBoundsException抛出如果元件阵列的不
null不足以容纳所有的颜色和alpha分量(从
offset)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
pixel -指定像素
components -阵列接收的颜色和指定像素的alpha分量
offset的索引,
components阵列开始存储颜色和指定像素的alpha分量
UnsupportedOperationException -如果这个方法不支持这
ColorModel
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。
normComponents -一个数组包含标准化组件
normOffset -偏移到
normComponents阵列,开始检索标准化组件
components -一个数组,从
normComponents接收组件
offset -指数为
components在开始储存
normComponents归一化元件
IllegalArgumentException -如果这
ColorModel元件值的非规格化形式是不方便的表示。
IllegalArgumentException -如果
normComponents减
normOffset长度小于
numComponents
UnsupportedOperationException -如果这
ColorModel构造函数称为
super(bits)构造函数,但没有重写这个方法。看到构造函数,
ColorModel(int)。
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。
因为ColorModel是一个抽象类,任何实例的一个子类的实例。在这个抽象类此方法的默认实现假定这类组件的值表示在方便化的形式。因此,子类可以有实例不支持非规格化形式必须重写这个方法。
components -一个数组包含非标准化的组件
offset -偏移到
components阵列,开始检索的非标准化的组件
normComponents -阵列接收标准化组件
normOffset -指数为
normComponents开始存储元件的标准化
IllegalArgumentException -如果这
ColorModel元件值的非规格化形式是不方便的表示。
UnsupportedOperationException -如果这
ColorModel构造函数称为
super(bits)构造函数,但没有重写这个方法。看到构造函数,
ColorModel(int)。
UnsupportedOperationException -如果此方法无法确定比特/组件的数量
public int getDataElement(int[] components,
int offset)
int
ColorModel像素值,给定一个数组的非标准化的颜色和alpha分量。该方法将如果这
ColorModel分量值不方便的表示为单
int或如果这
ColorModel颜色分量值在规范形式不方便表示抛出
IllegalArgumentException。一个
ArrayIndexOutOfBoundsException抛出如果
components阵列不足以容纳所有的颜色和alpha分量(从
offset)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
components -一系列化的颜色和alpha分量
offset -指数为
components,开始检索颜色和alpha分量
ColorModel对应于指定组件的
int像素值。
IllegalArgumentException -如果这
ColorModel像素值表示为一个单一的
int不方便
IllegalArgumentException -如果这
ColorModel分量值在规范形式不方便的表示
ArrayIndexOutOfBoundsException -如果
components阵列不足以容纳所有的颜色和alpha组件开始
offset
UnsupportedOperationException -如果这个方法不支持这
ColorModel
public Object getDataElements(int[] components, int offset, Object obj)
ColorModel像素数据元素的数组表示,鉴于一系列化的颜色和alpha分量。那么这个阵列可以通过一个
WritableRaster对象的
setDataElements方法。该方法将如果这
ColorModel颜色分量值在规范形式不方便表示抛出
IllegalArgumentException。一个
ArrayIndexOutOfBoundsException抛出如果
components阵列不足以容纳所有的颜色和alpha分量(从
offset)。如果
obj变量
null,一个新的数组将被分配。如果
obj不
null,它必须是一个原始的数组类型transfertype;否则,一个
ClassCastException抛出。如果一个
ArrayIndexOutOfBoundsException
obj不足以容纳这
ColorModel像素值
ColorModel抛出。既然是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
components -一系列化的颜色和alpha分量
offset -指数为
components,开始检索颜色和alpha分量
obj -
Object数组表示的颜色和alpha分量
Object数组表示的颜色和alpha分量。
ClassCastException -如果
obj不是原始的数组类型
transferType
obj
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel或
components阵列的像素值不足以容纳所有的颜色和alpha组件开始
offset
IllegalArgumentException -如果这
ColorModel分量值在规范形式不方便的表示
UnsupportedOperationException -如果这个方法不支持这
ColorModel
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)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。在这个抽象类此方法的默认实现将从标准化形式化的形式,然后调用
getDataElement(int[], int)。子类可以有实例不支持非规格化形式必须重写这个方法。
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像素值扔。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。在这个抽象类此方法的默认实现将从标准化形式化的形式,然后调用
getDataElement(int[], int, Object)。子类可以有实例不支持非规格化形式必须重写这个方法。
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)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。在这个抽象类此方法的默认实现首先检索颜色和alpha组件化的形式使用
getComponents(Object, int[], int)然后调用
getNormalizedComponents(int[], int, float[], int)。子类可以有实例不支持非规格化形式必须重写这个方法。
pixel -指定像素
normComponents -阵列接收标准化组件
normOffset -偏移到
normComponents阵列在开始储存标准化组件
ClassCastException -如果
pixel不是原始的数组类型transfertype
normComponents
ArrayIndexOutOfBoundsException不足以容纳所有的颜色和alpha组件开始
normOffset
pixel
ArrayIndexOutOfBoundsException不足以容纳这
ColorModel像素值。
UnsupportedOperationException -如果这
ColorModel构造函数称为
super(bits)构造函数,但没有重写这个方法。看到构造函数,
ColorModel(int)。
UnsupportedOperationException -如果此方法无法确定比特/组件的数量
public boolean equals(Object obj)
Object是
ColorModel实例,如果它等于这
ColorModel。
equals 方法重写,继承类
Object
obj -
Object测试平等
true如果指定
Object是
ColorModel实例和等于这
ColorModel;
false否则。
Object.hashCode(),
HashMap
public int hashCode()
hashCode 方法重写,继承类
Object
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public final ColorSpace getColorSpace()
ColorSpace
ColorModel。
ColorModel的
ColorSpace。
public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied变量所指定的状态,假设数据是目前的
ColorModel正确描述。它可能乘或除彩色栅格数据通过α,或者如果数据是在正确的状态,什么也不做。如果数据需要被强制的,这种方法也会返回一个实例,这
ColorModel与
isAlphaPremultiplied标志设置适当。此方法将不支持这
ColorModel扔
UnsupportedOperationException。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
raster -
WritableRaster数据
isAlphaPremultiplied -
true如果α进行
false否则;
ColorModel表示强制数据。
public boolean isCompatibleRaster(Raster raster)
true如果不是
raster与
ColorModel和
false兼容。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
raster -
Raster对象兼容性测试
true如果
raster与
ColorModel兼容。
UnsupportedOperationException -如果此方法尚未实现这
ColorModel
public WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster(
SampleModel)这
ColorModel兼容。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
w -宽度适用于新的
WritableRaster
h的高度适用于新
WritableRaster
WritableRaster对象。
UnsupportedOperationException -如果这个方法不支持这
ColorModel
WritableRaster,
SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel用指定的宽度和高度,具有数据的布局,这
ColorModel兼容。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
w -宽度适用于新的
SampleModel
h的高度适用于新
SampleModel
SampleModel对象。
UnsupportedOperationException -如果这个方法不支持这
ColorModel
SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel与
ColorModel兼容。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法,因为在这个抽象类的实现抛出一个
UnsupportedOperationException。
sm -指定
SampleModel
true如果指定
SampleModel与
ColorModel兼容;
false否则。
UnsupportedOperationException -如果这个方法不支持这
ColorModel
SampleModel
public void finalize()
ColorModel相关这一
ColorModel不再被引用。
finalize 方法重写,继承类
Object
WeakReference,
PhantomReference
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster表示图像的alpha通道,从输入
Raster提取,但这
ColorModel像素值表示为单独的空间带颜色和alpha信息(例如
ComponentColorModel和
DirectColorModel)。这种方法假设
Raster对象这样一个
ColorModel店α波段,相关如果存在,作为图像数据的最后一个乐队。返回
null如果没有独立空间的alpha通道这
ColorModel相关。如果这是一个
IndexColorModel具有查找表中的α,此方法将返回
null由于没有空间离散的alpha通道。该方法将创建一个新的
Raster(但将共享数据阵列)。因为
ColorModel是一个抽象类,任何实例的一个子类的实例。子类必须重写此方法以得到比回
null因为这个抽象类的实现返回
null任何行为。
raster -指定
Raster
Raster表示图像的alpha通道,从指定的
Raster获得。
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.