- java.lang.Object
 -  
      
- java.awt.image.ColorModel
 -  
        
- java.awt.image.ComponentColorModel
 
 
 
-  
       
- All Implemented Interfaces:
 -  
         
Transparency 
public class ComponentColorModel extends ColorModel
一个ColorModel类,用于将颜色和alpha信息表示为单独样本的像素值,并将每个样本存储在单独的数据元素中。 这个类可以随意使用ColorSpace。 像素值中的颜色样本数必须与ColorSpace的颜色成ColorSpace。 可能有一个单一的α样本。对于使用类型为
transferType的原始数组像素表示的那些方法,数组长度与颜色和alpha样本的数量相同。 颜色样本首先存储在数组中,然后存储alpha样本。 颜色样本的顺序由ColorSpace指定。 通常,此顺序反映了颜色空间类型的名称。 例如,对于TYPE_RGB,索引0对应于红色,索引1为绿色,索引2为蓝色。从显示或处理目的的像素样本值到颜色/α分量的转换是基于样本与分量的一一对应关系。 根据用于创建
ComponentColorModel实例的传输类型,由该实例表示的像素样本值可能是有符号的或无符号的,并且可以是整数类型或浮点或双倍(详见下文)。 从样本值到归一化颜色/α分量的转换必须遵循某些规则。 对于浮点和双样本,转换是一个标识,即归一化分量值等于相应的样本值。 对于积分样本,平移应该只是一个简单的尺度和偏移,其中每个分量的比例和偏移常数可能不同。 应用比例和偏移常数的结果是一组颜色/α分量值,这些值保证在一定范围内。 通常,颜色分量的范围将是由ColorSpace类的getMinValue和getMaxValue方法定义的范围。 Alpha组件的范围应为0.0到1.0。的实例
ComponentColorModel用传输类型创建DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT和DataBuffer.TYPE_INT具有被视为无符号整数值的像素样本值。 像素值的颜色或alpha样本中的位数可能与传递给ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)构造函数的相应颜色或alpha样本的ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)。 在这种情况下,该类假设样本值的最低有效n位保存分量值,其中n是传递给构造函数的分量的有效位数。 它还假定样本值中的任何高阶位都为零。 因此,采样值范围为0到2 n - 1。该类将这些采样值映射到归一化的颜色分量值,使得0映射到从每个分量的ColorSpace's getMinValue方法获得的值,2 n -1映射到从getMaxValue。 要创建具有不同颜色样本映射的ComponentColorModel,需要对getNormalizedComponents(Object, float[], int)子类化并覆盖getNormalizedComponents(Object, float[], int)方法。 alpha样本的映射始终将0映射到0.0和2 n - 1到1.0。对于具有无符号样本值的实例,仅当两个条件成立时才支持非标准化颜色/ alpha分量表示。 首先,样本值0必须映射到归一化分量值0.0和样本值2 n - 1到1.0。 第二,
ColorSpace的所有颜色分量的最小/最大范围必须为0.0到1.0。 在这种情况下,分量表示是相应样本的n个最低有效位。 因此,每个分量是0和2 n -1之间的无符号积分值,其中n是特定分量的有效位数。 如果不满足这些条件,任何采用非规范化组件参数的方法将抛出一个IllegalArgumentException。的实例
ComponentColorModel用传输类型创建DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT和DataBuffer.TYPE_DOUBLE具有被视为有符号短,浮点型或双值的像素样本值。 这样的实例不支持非规范化的颜色/ alpha组件表示,所以在这些实例之一IllegalArgumentException时,任何采用这种表示形式作为参数的方法都将抛出一个IllegalArgumentException。 该类的实例的归一化组件值具有取决于传输类型的范围,如下所示:对于浮动样本,浮点数据类型的全范围; 对于双样本,浮点数据类型的全范围(由铸造双倍浮动) 对于短样本,从大约-maxVal到+ maxVal,其中maxVal是ColorSpace(-32767映射到-maxVal,0映射到0.0,并且32767映射到+ maxVal)的每个分量最大值。 一个子类可以通过覆盖getNormalizedComponents(Object, float[], int)方法来覆盖短样本值到归一化分量值的getNormalizedComponents(Object, float[], int)。 对于浮动和双样本,归一化分量值取为等于相应的样本值,子类不应尝试为这些传输类型添加任何非标识缩放。的实例
ComponentColorModel用传输类型创建DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT和DataBuffer.TYPE_DOUBLE使用所有所有采样值的比特。 因此,所有的颜色/ alpha分量使用时具有16个比特DataBuffer.TYPE_SHORT使用时,32位DataBuffer.TYPE_FLOAT使用时,和64位DataBuffer.TYPE_DOUBLE。 当这些传送类型之一使用ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)形式的构造函数时,将忽略位数组参数。可能会有不能合理地将颜色/ alpha样本值解释为渲染的组件值。 当
ComponentColorModel被子类化以覆盖无符号样本值到归一化颜色分量值的映射或使用特定范围之外的带符号样本值时,可能会发生这种情况。 (例如,将α分量指定为范围0到32767之外的带符号短值,归一化范围为0.0到1.0,可能会导致意想不到的结果)。应用程序有责任在渲染之前适当地缩放像素数据,使得颜色组分落在ColorSpace(使用ColorSpace类的getMinValue和getMaxValue方法获得)的归一化范围内,并且α分量在0.0和1.0之间。 如果颜色或α分量值落在这些范围之外,则渲染结果是不确定的。使用单个int像素表示形式的方法抛出
IllegalArgumentException,除非成分的用于数ComponentColorModel是一个和成分值是无符号的-使用的传输类型,换句话说,单一颜色分量DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,或DataBuffer.TYPE_INT和没有阿尔法甲
ComponentColorModel可以结合使用具有ComponentSampleModel,一个BandedSampleModel或PixelInterleavedSampleModel构建BufferedImage。 
-  
        
       
-  
             
Field Summary
-  
               
Fields inherited from class java.awt.image.ColorModel
pixel_bits, transferType 
-  
               
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT 
 -  
               
 
-  
             
构造方法摘要
构造方法 Constructor 描述 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 方法 描述 ColorModelcoerceData(WritableRaster raster, boolean isAlphaPremultiplied)强制栅格数据与isAlphaPremultiplied变量中指定的状态相匹配,假设此数据目前正由ColorModel描述。SampleModelcreateCompatibleSampleModel(int w, int h)创建具有指定宽度和高度的SampleModel,具有与此ColorModel兼容的数据布局。WritableRastercreateCompatibleWritableRaster(int w, int h)创建具有指定宽度和高度的WritableRaster,具有与此ColorModel兼容的数据布局(SampleModel)。booleanequals(Object obj)测试指定Object是一个实例ComponentColorModel和等于这个ComponentColorModel。intgetAlpha(int pixel)返回指定像素的alpha分量,从0到255。intgetAlpha(Object inData)返回指定像素的alpha分量,从0到255。WritableRastergetAlphaRaster(WritableRaster raster)返回Raster表示从输入Raster提取的图像的Alpha通道。intgetBlue(int pixel)返回指定像素的蓝色分量,在默认RGB ColorSpace(sRGB)中从0到255。intgetBlue(Object inData)返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255。int[]getComponents(int pixel, int[] components, int offset)返回给这个ColorModel一个像素的非规范化颜色/ alpha分量的数组。int[]getComponents(Object pixel, int[] components, int offset)在这个ColorModel给出一个像素的非规范化颜色/ alpha分量的数组。intgetDataElement(float[] normComponents, int normOffset)给出一个归一化的颜色/ alpha分量数组,返回int中ColorModel表示的像素值。intgetDataElement(int[] components, int offset)返回一个像这个ColorModel的int表示的像素值,给出了一个非标准化颜色/ alpha分量的数组。ObjectgetDataElements(float[] normComponents, int normOffset, Object obj)给定一个归一化颜色/ alpha分量的数组,返回这个ColorModel的一个像素的数据元素数组表示。ObjectgetDataElements(int[] components, int offset, Object obj)给出这个ColorModel的一个像素的数据元素数组表示,给出了一个非标准化颜色/ alpha分量的数组。ObjectgetDataElements(int rgb, Object pixel)返回此ColorModel中的像素的数据元素数组表示,给出了默认RGB颜色模型中的整数像素表示。intgetGreen(int pixel)返回指定像素的绿色分量,在默认RGB ColorSpace sRGB中从0到255。intgetGreen(Object inData)返回默认RGBColorSpace(sRGB)中指定像素的绿色分量,从0到255。float[]getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)给定一个非规范化的组件数组,以归一化形式返回所有颜色/ alpha分量的数组。float[]getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)给出这个ColorModel一个像素,返回标准化形式的所有颜色/ alpha分量的ColorModel。intgetRed(int pixel)返回指定像素的红色分量,在默认RGB ColorSpace sRGB中从0到255。intgetRed(Object inData)返回指定像素的红色分量,在默认RGB ColorSpace sRGB中从0到255。intgetRGB(int pixel)以默认RGB颜色模型格式返回像素的颜色/ alpha分量。intgetRGB(Object inData)以默认RGB颜色模型格式返回指定像素的颜色/ alpha分量。int[]getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)给定一个归一化的组件数组,以非规范化形式返回所有颜色/ alpha分量的数组。inthashCode()返回此ComponentColorModel的哈希码。booleanisCompatibleRaster(Raster raster)如果raster与此ColorModel兼容,则返回true; 假如不是的话。booleanisCompatibleSampleModel(SampleModel sm)检查指定的SampleModel是否与此ColorModel兼容。-  
               
Methods inherited from class java.awt.image.ColorModel
finalize, getColorSpace, getComponentSize, getComponentSize, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, hasAlpha, isAlphaPremultiplied, toString 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
ComponentColorModel
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。 如果不为空,则bits数组指定每个颜色和alpha分量的有效位数,如果像素值中没有alpha信息,则其长度应至少为ColorSpace的组件数,或者如果有阿尔法信息。 当transferType是DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE的bits数组参数被忽略。hasAlpha指示是否存在α信息。 如果hasAlpha为真,则布尔值isAlphaPremultiplied指定如何在像素值中解释颜色和alpha样本。 如果布尔值为真,则假定颜色样本已被乘以α样本。transparency指定可以通过此颜色模型表示哪些Alpha值。 可接受transparency值是OPAQUE,BITMASK或TRANSLUCENT。transferType是用于表示像素值的原始数组的类型。- 参数
 -  
              
colorSpace- 与此颜色模型相关联的ColorSpace。 -  
              
bits- 每个组件的有效位数。 可能为null,在这种情况下,所有组件样本的所有位都将显着。 如果transferType是DataBuffer.TYPE_FLOAT或DataBuffer.TYPE_DOUBLE之一,DataBuffer.TYPE_SHORT忽略,在这种情况下,所有组件样本的所有位都将显着。 -  
              
hasAlpha- 如果为true,此颜色模型支持alpha。 -  
              
isAlphaPremultiplied- 如果为真,则为预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 
 
-  
ComponentColorModel
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。 每个颜色和alpha分量的有效位数分别为8,16,32,66,32或64。 颜色分量的数量将是ColorSpace中组件的ColorSpace。 如果hasAlpha是true将会有一个alpha组件。 如果hasAlpha为真,则布尔值isAlphaPremultiplied指定如何在像素值中解释颜色和alpha样本。 如果布尔值为真,则假定颜色样本已被乘以α样本。transparency指定了此颜色模型可以表示哪些Alpha值。 可接受transparency值是OPAQUE,BITMASK或TRANSLUCENT。transferType是用于表示像素值的原始数组的类型。- 参数
 -  
              
colorSpace- 与此颜色模型相关联的ColorSpace。 -  
              
hasAlpha- 如果为true,此颜色模型支持alpha。 -  
              
isAlphaPremultiplied- 如果为真,isAlphaPremultipliedalpha预乘。 -  
              
transparency- 指定此颜色模型可以表示哪些Alpha值。 -  
              
transferType- 指定用于表示像素值的基本数组的类型。 - 异常
 -  
              
IllegalArgumentException-如果transferType时不是一个DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 - 从以下版本开始:
 - 1.4
 - 另请参见:
 -  
              
ColorSpace,Transparency 
 
 -  
 
-  
             
方法详细信息
-  
getRed
public int getRed(int pixel)
返回指定像素的红色分量,在默认RGB ColorSpace sRGB中从0到255。 必要时进行颜色转换。 像素值被指定为int。 返回的值将是非预倍增值。 如果alpha被预乘,则此方法在返回值之前将其除数(如果alpha值为0,则红色值为0)。- Specified by:
 -  
              
getRed在ColorModel - 参数
 -  
              
pixel- 要从中获取红色分量的像素。 - 结果
 - 指定像素的红色分量,作为int。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException- 如果此ColorModel的组件值已经签名 
 
-  
getGreen
public int getGreen(int pixel)
返回指定像素的绿色分量,在默认RGB ColorSpace sRGB中从0到255。 必要时进行颜色转换。 像素值被指定为int。 返回的值将是非预倍增值。 如果alpha被预乘,则该方法在返回值之前将其除数(如果alpha值为0,则绿色值为0)。- Specified by:
 -  
              
getGreen在ColorModel - 参数
 -  
              
pixel- 要从中获取绿色成分的像素。 - 结果
 - 指定像素的绿色分量,作为int。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException- 如果此ColorModel的组件值已签名 
 
-  
getBlue
public int getBlue(int pixel)
返回指定像素的蓝色分量,在默认RGB ColorSpace(sRGB)中从0到255。 必要时进行颜色转换。 像素值被指定为int。 返回的值将是非预倍增值。 如果alpha被预乘,则该方法在返回值之前将其除数(如果alpha值为0,则蓝色值为0)。- Specified by:
 -  
              
getBlue在ColorModel - 参数
 -  
              
pixel- 要从中获取蓝色分量的像素。 - 结果
 - 指定像素的蓝色分量,以int为单位。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException-如果此组件值ColorModel签署 
 
-  
getAlpha
public int getAlpha(int pixel)
返回指定像素的alpha分量,从0到255。像素值被指定为int。- Specified by:
 -  
              
getAlpha在ColorModel - 参数
 -  
              
pixel- 要从中获取alpha分量的像素。 - 结果
 - 指定像素的alpha分量,作为int。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException-如果此组件值ColorModel签署 
 
-  
getRGB
public int getRGB(int pixel)
以默认RGB颜色模型格式返回像素的颜色/ alpha分量。 必要时进行颜色转换。 返回的值将是非预先乘法格式。 如果alpha被预乘,则该方法将其从颜色分量中分离出来(如果alpha值为0,则颜色值将为0)。- 重写:
 -  
              
getRGB在ColorModel - 参数
 -  
              
pixel- 要从中获取颜色/ alpha分量的像素。 - 结果
 - 指定像素的颜色/ alpha分量,作为int。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException- 如果此ColorModel的组件值已经签名 - 另请参见:
 -  
              
ColorModel.getRGBdefault() 
 
-  
getRed
public int getRed(Object inData)
返回指定像素的红色分量,在默认RGB ColorSpace sRGB中从0到255。 必要时进行颜色转换。pixel值由作为对象引用传递的类型为transferType的数据元素数组指定。 返回的值将是非预倍增值。 如果alpha被预乘,则此方法在返回值之前将其除数(如果alpha值为0,则红色值为0)。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果它们使用不支持的transferType它们将抛出异常。- 重写:
 -  
              
getRed在ColorModel - 参数
 -  
              
inData- 要从中获取红色颜色分量的像素,由transferType类型的数据元素数组指定。 - 结果
 - 指定像素的红色分量,作为int。
 - 异常
 -  
              
ClassCastException- 如果inData不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果inData不够大,不能容纳ColorModel的像素值。 -  
              
UnsupportedOperationException-如果此的传输类型ComponentColorModel是不支持的传输类型之一:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 
 
-  
getGreen
public int getGreen(Object inData)
返回指定像素的绿色分量,在默认RGBColorSpace(sRGB)中从0到255。 必要时进行颜色转换。pixel值由作为对象引用传递的类型为transferType的数据元素数组指定。 返回的值是非预先乘以的值。 如果alpha被预乘,则该方法在返回值之前将其除数(如果alpha值为0,则绿色值为0)。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果它们使用不支持的transferType它们将抛出异常。- 重写:
 -  
              
getGreen在ColorModel - 参数
 -  
              
inData- 要从中获取绿色分量的像素,由transferType类型的数据元素数组指定。 - 结果
 - 指定像素的绿色分量,作为int。
 - 异常
 -  
              
ClassCastException- 如果inData不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果inData不够大,不能保持这个ColorModel的像素值。 -  
              
UnsupportedOperationException-如果此的传输类型ComponentColorModel是不支持的传输类型之一:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 
 
-  
getBlue
public int getBlue(Object inData)
返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255。 必要时进行颜色转换。pixel值由作为对象引用传递的类型为transferType的数据元素数组指定。 返回的值是非预先乘以的值。 如果alpha被预乘,则该方法在返回值之前将其除数(如果alpha值为0,则蓝色值为0)。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果使用不支持的transferType它们将抛出异常。- 重写:
 -  
              
getBlue在ColorModel - 参数
 -  
              
inData- 要从中获取蓝色分量的像素,由transferType类型的数据元素数组指定。 - 结果
 - 指定像素的蓝色分量,以int为单位。
 - 异常
 -  
              
ClassCastException- 如果inData不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果inData不够大,不能保持这个ColorModel的像素值。 -  
              
UnsupportedOperationException-如果此的传输类型ComponentColorModel是不支持的传输类型之一:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 
 
-  
getAlpha
public int getAlpha(Object inData)
返回指定像素的alpha分量,从0到255进行比例。像素值由作为对象引用传入的数据元素数组transferType指定。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果使用不支持的transferType它们将抛出异常。- 重写:
 -  
              
getAlpha在ColorModel - 参数
 -  
              
inData- 要从中获取alpha分量的像素,由transferType类型的数据元素数组指定。 - 结果
 - 指定像素的alpha分量,作为int。
 - 异常
 -  
              
ClassCastException- 如果inData不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果inData不够大,不能容纳ColorModel的像素值。 -  
              
UnsupportedOperationException-如果此的传输类型ComponentColorModel是不支持的传输类型之一:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 
 
-  
getRGB
public int getRGB(Object inData)
以默认RGB颜色模型格式返回指定像素的颜色/ alpha分量。 必要时进行颜色转换。 像素值由作为对象引用传递的类型为transferType的数据元素数组指定。 返回的值为非预先乘法格式。 如果alpha被预乘,则该方法将其从颜色分量中分离出来(如果alpha值为0,则颜色值将为0)。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果使用不支持的transferType,则它们将抛出异常。- 重写:
 -  
              
getRGB在ColorModel - 参数
 -  
              
inData- 要从中获取颜色/ alpha分量的像素,由transferType类型的数据元素数组指定。 - 结果
 - 指定像素的颜色/ alpha分量,作为int。
 - 异常
 -  
              
ClassCastException- 如果inData不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果inData不够大,不能保持这个ColorModel的像素值。 -  
              
UnsupportedOperationException-如果此的传输类型ComponentColorModel是不支持的传输类型之一:DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT,DataBuffer.TYPE_INT,DataBuffer.TYPE_SHORT,DataBuffer.TYPE_FLOAT,或DataBuffer.TYPE_DOUBLE。 - 另请参见:
 -  
              
ColorModel.getRGBdefault() 
 
-  
getDataElements
public Object getDataElements(int rgb, Object pixel)
返回此ColorModel中的像素的数据元素数组表示,给出了默认RGB颜色模型中的整数像素表示。 然后可以将该数组传递给WritableRaster对象的setDataElements方法。 如果pixel参数为空,则分配一个新数组。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,则如果使用不支持的transferType,则它们会抛出异常。- 重写:
 -  
              
getDataElements在ColorModel - 参数
 -  
              
rgb- RGB颜色模型中像素的整数表示 -  
              
pixel- 指定的像素 - 结果
 - 
               这个 
              
ColorModel中的像素的数据元素数组表示。 - 异常
 -  
              
ClassCastException- 如果pixel不为空并且不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果pixel不够大,不能保持这个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) 
 
-  
getComponents
public int[] getComponents(int pixel, int[] components, int offset)在这个ColorModel给出一个像素的返回一个非标准化颜色/ alpha分量的数组。 如果该ColorModel的组件值不方便地以非规范化形式表示,则会抛出IllegalArgumentException异常。 颜色/ alpha分量存储中components数组以offset(即使该阵列由这种方法分配的)。- 重写:
 -  
              
getComponents在ColorModel - 参数
 -  
              
pixel- 指定为整数的像素值。 -  
              
components- 一个整数数组,用于存储非标准化颜色/ alpha分量。 如果components数组为空,则会分配一个新数组。 -  
              
offset- 一个偏移到components数组。 - 结果
 - 组件数组。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException- 如果这个ColorModel不支持非规范化形式 -  
              
ArrayIndexOutOfBoundsException- 如果components数组不为空,并且不够大以容纳所有颜色和alpha分量(从偏移开始)。 
 
-  
getComponents
public int[] getComponents(Object pixel, int[] components, int offset)
在这个ColorModel给出了一个像素的非规范化颜色/ alpha分量的数组。 像素值由作为对象引用传入的数据元素transferType的数组指定。 如果此ColorModel的组件值不方便地以非规范化形式表示,则会抛出IllegalArgumentException异常。 颜色/ 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不够大,不能持有该ColorModel的像素值。 
 
-  
getUnnormalizedComponents
public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)给定一个归一化的组件数组,以非规范化形式返回所有颜色/ alpha分量的数组。 非正则化分量是0和2 n -1之间的无符号积分值,其中n是特定分量的位数。 正规化成分是每分量最小和最大由指定之间的浮点值ColorSpace对象此ColorModel。 如果这个ColorModel颜色分量值不方便地以非规范化形式表示,IllegalArgumentException将抛出一个IllegalArgumentException。 如果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 - 结果
 - 包含非标准化颜色和alpha组件的数组。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ComponentColorModel不支持非规范化形式 -  
              
IllegalArgumentException- 如果normComponents减去normOffset的长度小于numComponents 
 
-  
getNormalizedComponents
public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)给定一个非规范化的组件数组,以归一化形式返回所有颜色/ alpha分量的数组。 非正则化分量是0和2 n -1之间的无符号积分值,其中n是特定分量的位数。 正规化成分是每分量最小和最大由指定之间的浮点值ColorSpace对象此ColorModel。 一个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开始存储归一化组件 - 结果
 - 包含归一化颜色和alpha组件的数组。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ComponentColorModel不支持非规范化形式 
 
-  
getDataElement
public int getDataElement(int[] components, int offset)给出一个非标准化颜色/ alpha分量的数组,返回在这个ColorModel以int表示的像素值。- 重写:
 -  
              
getDataElement在ColorModel - 参数
 -  
              
components- 非规范化颜色/ alpha组件的数组。 -  
              
offset- 一个偏移到components数组。 - 结果
 - 以int形式表示的像素值。
 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel有多个组件。 -  
              
IllegalArgumentException- 如果这个ComponentColorModel不支持非规范化形式 
 
-  
getDataElements
public Object getDataElements(int[] components, int offset, Object obj)
给出一个非规范化颜色/ alpha分量的数组,返回此ColorModel中的像素的数据元素数组表示。 然后可以将该数组传递给WritableRaster对象的setDataElements方法。- 重写:
 -  
              
getDataElements在ColorModel - 参数
 -  
              
components- 非规范化颜色/ alpha组件的数组。 -  
              
offset-components数组中的整数偏移量。 -  
              
obj- 存储像素的数据元素数组表示形式的对象。 如果obj变量为null,则会分配一个新数组。 如果obj不为空,则它必须是transferType类型的原始数组。 一个ArrayIndexOutOfBoundsException如果抛出obj不够大,不能保存这个像素值ColorModel。 由于ComponentColorModel可以被子类化,子类继承了此方法的实现,如果它们不覆盖它,那么如果它们使用不支持的transferType它们将抛出异常。 - 结果
 - 
               这个 
              
ColorModel的一个像素的数据元素数组表示。 - 异常
 -  
              
IllegalArgumentException- 如果组件数组不够大以容纳所有颜色和alpha组件(从偏移开始)。 -  
              
ClassCastException- 如果obj不为空并且不是类型为transferType的原始数组。 -  
              
ArrayIndexOutOfBoundsException- 如果obj不够大,不能保持这个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) 
 
-  
getDataElement
public int getDataElement(float[] normComponents, int normOffset)返回表示为一个像素值int在此ColorModel,给定的归一化的颜色/ alpha分量的阵列。 这个方法会抛出一个IllegalArgumentException如果这个ColorModel像素值不方便地表示为一个int。 一个ArrayIndexOutOfBoundsException,如果被抛出normComponents阵列是没有大到足以容纳所有的颜色和alpha分量(开始于normOffset)。- 重写:
 -  
              
getDataElement在ColorModel - 参数
 -  
              
normComponents- 归一化颜色和alpha分量的数组 -  
              
normOffset- 索引到normComponents开始检索颜色和alpha组件 - 结果
 - 
               这个 
              
int像素值在这个ColorModel对应的指定组件。 - 异常
 -  
              
IllegalArgumentException- 如果这个ColorModel像素值不方便地表示为一个int -  
              
ArrayIndexOutOfBoundsException- 如果normComponents阵列不够大,不能容纳所有颜色和alpha组件,从normOffset开始 - 从以下版本开始:
 - 1.4
 
 
-  
getDataElements
public Object getDataElements(float[] normComponents, int normOffset, Object obj)
给出一个标准化颜色/ alpha分量的数组,返回这个ColorModel像素的数据元素数组表示。 然后可以将该数组传递给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 -  
              
ArrayIndexOutOfBoundsException- 如果obj不够大以容纳ColorModel的像素值,或normComponents阵列不够大,不足以容纳所有颜色和alpha分量从normOffset开始 - 从以下版本开始:
 - 1.4
 - 另请参见:
 -  
              
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer) 
 
-  
getNormalizedComponents
public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
给出这个ColorModel一个像素,以归一化形式返回所有颜色/ alpha分量的ColorModel。 像素值由作为对象引用传入的transferType类型的数据元素数组指定。 如果像素不是transferType类型的原始数组,则抛出一个ClassCastException。 一个ArrayIndexOutOfBoundsException如果抛出pixel不够大,不能保存这个像素值ColorModel。 正规化成分是每分量最小和最大由指定之间的浮点值ColorSpace对象此ColorModel。 如果normComponents阵列为null,则将分配一个新阵列。 将返回normComponents阵列。 颜色/ alpha分量存储中normComponents数组以normOffset(即使该阵列由这种方法分配的)。 一个ArrayIndexOutOfBoundsException,如果被抛出normComponents数组不null,不足够大以容纳所有的颜色和alpha分量(开始于normOffset)。如果该子类被设计为以非默认方式将像素样本值转换为颜色分量值,则此子类必须被子类覆盖。 该类实现的默认翻译在类注释中描述。 实现非默认翻译的任何子类必须遵循在那里定义的允许翻译的约束。
- 重写:
 -  
              
getNormalizedComponents在ColorModel - 参数
 -  
              
pixel- 指定的像素 -  
              
normComponents- 一个接收归一化组件的数组 -  
              
normOffset-normComponents阵列的偏移量,用于开始存储归一化分量 - 结果
 - 包含归一化颜色和alpha组件的数组。
 - 异常
 -  
              
ClassCastException- 如果pixel不是transferType类型的原始数组 -  
              
ArrayIndexOutOfBoundsException- 如果normComponents不够大,不能容纳所有颜色和alpha组件,从normOffset开始 -  
              
ArrayIndexOutOfBoundsException- 如果pixel不够大,不能容纳ColorModel的像素值。 - 从以下版本开始:
 - 1.4
 
 
-  
coerceData
public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
强制光栅数据与isAlphaPremultiplied变量中指定的状态相匹配,假设目前ColorModel正确描述了数据。 它可以将颜色光栅数据乘以或除以alpha,如果数据处于正确状态,则不执行任何操作。 如果需要强制数据,则该方法还会返回ColorModel一个实例,ColorModel适当地设置了isAlphaPremultiplied标志。 由于ColorModel可以被子类化,子类继承了该方法的实现,如果它们不覆盖它,那么如果它们使用不支持的transferType它们将抛出异常。- 重写:
 -  
              
coerceData在ColorModel - 参数
 -  
              
raster-WritableRaster数据 -  
              
isAlphaPremultiplied-true如果alpha是预乘的; 否则为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。 
 
-  
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
如果raster与此ColorModel兼容,则返回true; 假如不是的话。- 重写:
 -  
              
isCompatibleRaster在ColorModel - 参数
 -  
              
raster- 要测试兼容性的Raster对象。 - 结果
 -  
              
true如果raster与此兼容ColorModel,false,如果它不是。 
 
-  
createCompatibleWritableRaster
public WritableRaster createCompatibleWritableRaster(int w, int h)
创建具有指定宽度和高度的WritableRaster,具有与此ColorModel兼容的数据布局(SampleModel)。- 重写:
 -  
              
createCompatibleWritableRaster在ColorModel - 参数
 -  
              
w- 您要创建的WritableRaster的宽度。 -  
              
h- 要创建的WritableRaster的高度。 - 结果
 - 
               A 
              
WritableRaster与此兼容ColorModel。 - 另请参见:
 -  
              
WritableRaster,SampleModel 
 
-  
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
创建一个具有指定宽度和高度的SampleModel,具有与此ColorModel兼容的数据布局。- 重写:
 -  
              
createCompatibleSampleModel在ColorModel - 参数
 -  
              
w- 您要创建的SampleModel的宽度。 -  
              
h- 要创建的SampleModel的高度。 - 结果
 - 
               A 
              
SampleModel与此兼容ColorModel。 - 另请参见:
 -  
              
SampleModel 
 
-  
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
检查指定的SampleModel是否与此ColorModel兼容。- 重写:
 -  
              
isCompatibleSampleModel在ColorModel - 参数
 -  
              
sm-SampleModel测试兼容性。 - 结果
 -  
              
true如果SampleModel与此兼容ColorModel,false,如果它不是。 - 另请参见:
 -  
              
SampleModel 
 
-  
getAlphaRaster
public WritableRaster getAlphaRaster(WritableRaster raster)
返回Raster表示图像的alpha通道,从输入中提取Raster。 该方法假设与此ColorModel相关联的Raster对象存储Alpha波段(如果存在)作为最后一个图像数据。 如果没有与此ColorModel相关联的单独的空间alpha通道,则返回null。 此方法创建一个新的Raster,但将共享数据数组。- 重写:
 -  
              
getAlphaRaster在ColorModel - 参数
 -  
              
raster-WritableRaster提取Alpha通道的WritableRaster。 - 结果
 - 
               A 
              
WritableRaster包含图像的Alpha通道。 
 
-  
equals
public boolean equals(Object obj)
测试指定Object是一个实例ComponentColorModel和等于这个ComponentColorModel。- 重写:
 -  
              
equals在ColorModel - 参数
 -  
              
obj-Object测试平等 - 结果
 -  
              
true如果指定Object是的一个实例ComponentColorModel并且等于此ComponentColorModel; 否则为false。 - 另请参见:
 -  
              
Object.hashCode(),HashMap 
 
-  
hashCode
public int hashCode()
返回此ComponentColorModel的哈希码。- 重写:
 -  
              
hashCode在ColorModel - 结果
 - 此ComponentColorModel的哈希码。
 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
 -  
 
 -