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()
返回该
ColorModel object内容
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
。它仅仅是作为一种常见的颜色模型格式。
DirectColorModel
object描述默认的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.