- java.lang.Object
-
- java.awt.image.ColorModel
-
- java.awt.image.PackedColorModel
-
- java.awt.image.DirectColorModel
-
- 实现的所有接口
-
Transparency
public class DirectColorModel extends PackedColorModel
DirectColorModel类是一个ColorModel类,它使用像素值表示RGB颜色和alpha信息作为单独的样本,并将单个像素的所有样本打包成单个int,short或byte数量。 此类只能用于ColorSpace.TYPE_RGB类型的ColorSpaces。 此外,对于ColorSpace的每个组件,通过ColorSpace的getMinValue()方法获得的最小标准化组件值必须为0.0,并且通过getMaxValue()方法获得的最大值必须为1.0(这些最小/最大值是RGB空间的典型值) 。 像素值中必须有三个颜色样本,并且可以有一个alpha样本。 对于那些使用类型为transferType的基本数组像素表示的transferType,数组长度始终为1。 支持的传输类型是DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT和DataBuffer.TYPE_INT。 颜色和alpha样本以位掩码指示的位存储在数组的单个元素中。 每个位掩码必须是连续的,并且掩码不能重叠。 相同的掩码适用于其他方法使用的单个int像素表示。 掩模和颜色/ alpha样本的对应关系如下:- 如果没有alpha,则通过从0到2的索引来识别掩码,或者如果存在alpha,则为3。
- 前三个指数是指颜色样本; index 0对应红色,索引1对应绿色,索引2对应蓝色。
- 索引3对应于α样本(如果存在)。
从像素值到颜色/ alpha分量的转换用于显示或处理目的是样本与组件的一一对应。
DirectColorModel通常与图像数据一起使用,该图像数据使用掩码来定义打包样本。 例如,DirectColorModel可以与SinglePixelPackedSampleModel一起使用以构建BufferedImage。 通常,SampleModel和ColorModel使用的掩模是相同的。 但是,如果它们不同,则将根据ColorModel的掩模完成像素数据的颜色解释。单个int像素表示对此类的所有对象都有效,因为始终可以在单个int中表示与此类一起使用的像素值。 因此,由于像素值无效,使用此表示的方法不会抛出
IllegalArgumentException。此颜色模型类似于X11 TrueColor视觉效果。
getRGBdefault方法指定的默认RGB ColorModel是DirectColorModel具有以下参数:Number of bits: 32 Red mask: 0x00ff0000 Green mask: 0x0000ff00 Blue mask: 0x000000ff Alpha mask: 0xff000000 Color space: sRGB isAlphaPremultiplied: False Transparency: Transparency.TRANSLUCENT transferType: DataBuffer.TYPE_INT本课程中的许多方法都是最终的。 这是因为底层本机图形代码对此类的布局和操作做出了假设,这些假设反映在此处标记为final的方法的实现中。 您可以出于其他原因对此类进行子类化,但不能覆盖或修改这些方法的行为。
-
-
字段汇总
-
声明的属性在类 java.awt.image.ColorModel
pixel_bits, transferType
-
Fields declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
-
构造方法摘要
构造方法 构造器 描述 DirectColorModel(int bits, int rmask, int gmask, int bmask)根据指定的掩码构造一个DirectColorModel,指示int像素表示中的哪些位包含红色,绿色和蓝色样本。DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)根据指定的掩码构造一个DirectColorModel,指示int像素表示中的哪些位包含红色,绿色和蓝色样本以及alpha样本(如果存在)。DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)根据指定的参数构造一个DirectColorModel。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ColorModelcoerceData(WritableRaster raster, boolean isAlphaPremultiplied)强制栅格数据与isAlphaPremultiplied变量中指定的状态匹配,假设此数据当前由ColorModel正确描述。WritableRastercreateCompatibleWritableRaster(int w, int h)创建具有指定宽度和高度的WritableRaster,其数据布局(SampleModel)与此ColorModel兼容。intgetAlpha(int pixel)返回指定像素的alpha分量,从0到255缩放。intgetAlpha(Object inData)返回指定像素的alpha分量,从0到255缩放。intgetAlphaMask()返回指示int像素表示中哪些位包含alpha分量的掩码。intgetBlue(int pixel)返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetBlue(Object inData)返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetBlueMask()返回指示int像素表示中哪些位包含蓝色分量的掩码。int[]getComponents(int pixel, int[] components, int offset)返回此ColorModel给定像素的非标准化颜色/ alpha分量ColorModel。int[]getComponents(Object pixel, int[] components, int offset)返回此ColorModel给定像素的非标准化颜色/ alpha分量ColorModel。intgetDataElement(int[] components, int offset)在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel表示为int的像素值。ObjectgetDataElements(int[] components, int offset, Object obj)在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel像素的数据元素数组表示。ObjectgetDataElements(int rgb, Object pixel)在给定默认RGB颜色模型中的整数像素表示的情况下,返回此ColorModel像素的数据元素数组表示形式。intgetGreen(int pixel)返回指定像素的绿色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetGreen(Object inData)返回指定像素的绿色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetGreenMask()返回指示int像素表示中哪些位包含绿色分量的掩码。intgetRed(int pixel)返回指定像素的红色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetRed(Object inData)返回指定像素的红色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。intgetRedMask()返回指示int像素表示中哪些位包含红色分量的掩码。intgetRGB(int pixel)以默认RGB颜色模型格式返回像素的颜色/ alpha分量。intgetRGB(Object inData)以默认RGB颜色模型格式返回指定像素的颜色/ alpha分量。booleanisCompatibleRaster(Raster raster)返回true如果raster与此兼容ColorModel和false,如果事实并非如此。StringtoString()返回String表示此DirectColorModel。-
声明方法的类 java.awt.image.PackedColorModel
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, hashCode, isCompatibleSampleModel
-
声明方法的类 java.awt.image.ColorModel
finalize, getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied
-
-
-
-
构造方法详细信息
-
DirectColorModel
public DirectColorModel(int bits, int rmask, int gmask, int bmask)根据指定的掩码构造一个DirectColorModel,指示int像素表示中的哪些位包含红色,绿色和蓝色样本。 由于像素值不包含alpha信息,因此所有像素都被视为不透明,这意味着alpha = 1.0。 每个掩码中的所有位必须是连续的并且适合于int像素表示的指定数量的最低有效位。ColorSpace是默认的sRGB空间。 透明度值为Transparency.OPAQUE。 传输类型是可以容纳单个像素的DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT或DataBuffer.TYPE_INT中最小的。- 参数
-
bits- 像素值中的位数; 例如,掩码中的位数之和。 -
rmask- 指定一个掩码,指示整数像素中的哪些位包含红色分量 -
gmask- 指定一个掩码,指示整数像素中的哪些位包含绿色分量 -
bmask- 指定一个掩码,指示整数像素中的哪些位包含蓝色分量
-
DirectColorModel
public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)根据指定的掩码构造一个DirectColorModel,指示int像素表示中的哪些位包含红色,绿色和蓝色样本以及alpha样本(如果存在)。 如果amask为0,则像素值不包含alpha信息,并且所有像素都被视为不透明,这意味着alpha = 1.0。 每个掩码中的所有位必须是连续的并且适合于int像素表示的指定数量的最低有效位。 Alpha(如果存在)不是预乘的。ColorSpace是默认的sRGB空间。 如果不存在alpha,则透明度值为Transparency.OPAQUE,否则为Transparency.TRANSLUCENT。 传输类型是可以容纳单个像素的DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT或DataBuffer.TYPE_INT中最小的。- 参数
-
bits- 像素值中的位数; 例如,掩码中的位数之和。 -
rmask- 指定一个掩码,指示整数像素中的哪些位包含红色分量 -
gmask- 指定一个掩码,指示整数像素中的哪些位包含绿色分量 -
bmask- 指定一个掩码,指示整数像素中的哪些位包含蓝色分量 -
amask- 指定一个掩码,指示整数像素中的哪些位包含alpha分量
-
DirectColorModel
public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
根据指定的参数构造一个DirectColorModel。 颜色组件在指定的ColorSpace,其颜色必须为ColorSpace.TYPE_RGB,并且具有最小的标准化组件值,这些值均为0.0,最大值均为1.0。 掩码指定int像素表示中的哪些位包含红色,绿色和蓝色样本以及alpha样本(如果存在)。 如果amask为0,则像素值不包含alpha信息,并且所有像素都被视为不透明,这意味着alpha = 1.0。 每个掩码中的所有位必须是连续的并且适合于int像素表示的指定数量的最低有效位。 如果存在alpha,则booleanisAlphaPremultiplied指定如何解释像素值中的颜色和alpha样本。 如果boolean是true,则假定颜色样本已乘以alpha样本。 如果不存在alpha,则透明度值为Transparency.OPAQUE,否则为Transparency.TRANSLUCENT。 传输类型是用于表示像素值的基本数组类型,必须是DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT或DataBuffer.TYPE_INT之一。- 参数
-
space- 指定的ColorSpace -
bits- 像素值中的位数; 例如,掩码中的位数之和。 -
rmask- 指定一个掩码,指示整数像素中的哪些位包含红色分量 -
gmask- 指定一个掩码,指示整数像素中的哪些位包含绿色分量 -
bmask- 指定一个掩码,指示整数像素中的哪些位包含蓝色分量 -
amask- 指定一个掩码,指示整数像素中的哪些位包含alpha分量 -
isAlphaPremultiplied-true如果颜色样本被alpha样本预乘; 否则为false -
transferType- 用于表示像素值的数组类型 - 异常
-
IllegalArgumentException- 如果space不是TYPE_RGB空间或者最小/最大标准化组件值不是0.0 / 1.0。
-
-
方法详细信息
-
getRedMask
public final int getRedMask()
返回指示int像素表示中哪些位包含红色分量的掩码。- 结果
-
掩码,指示
int像素表示的哪些位包含红色样本。
-
getGreenMask
public final int getGreenMask()
返回指示int像素表示中哪些位包含绿色分量的掩码。- 结果
-
掩码,指示
int像素表示的哪些位包含绿色样本。
-
getBlueMask
public final int getBlueMask()
返回指示int像素表示中哪些位包含蓝色分量的掩码。- 结果
-
掩码,指示
int像素表示的哪些位包含蓝色样本。
-
getAlphaMask
public final int getAlphaMask()
返回指示int像素表示中哪些位包含alpha分量的掩码。- 结果
-
掩码,指示
int像素表示的哪些位包含alpha样本。
-
getRed
public final int getRed(int pixel)
返回指定像素的红色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值指定为int。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 例如,如果alpha值为0,则红色值为0。- Specified by:
-
getRed在课程ColorModel - 参数
-
pixel- 指定的像素 - 结果
-
指定像素的红色分量,在sRGB
ColorSpace为0到255。
-
getGreen
public final int getGreen(int pixel)
返回指定像素的绿色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值指定为int。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 例如,如果alpha值为0,则绿色值为0。- Specified by:
-
getGreen类ColorModel - 参数
-
pixel- 指定的像素 - 结果
-
指定像素的绿色分量,sRGB
ColorSpace中的0到255。
-
getBlue
public final int getBlue(int pixel)
返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值指定为int。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 例如,如果alpha值为0,则蓝色值为0。- Specified by:
-
getBlue在课程ColorModel - 参数
-
pixel- 指定的像素 - 结果
-
指定像素的蓝色分量,sRGB
ColorSpace中的0到255。
-
getAlpha
public final int getAlpha(int pixel)
返回指定像素的alpha分量,从0到255缩放。像素值指定为int。- Specified by:
-
getAlpha在类ColorModel - 参数
-
pixel- 指定的像素 - 结果
-
pixel的alpha分量的值,从0到255。
-
getRGB
public final int getRGB(int pixel)
以默认RGB颜色模型格式返回像素的颜色/ alpha分量。 必要时进行颜色转换。 像素值指定为int。 返回的值采用非预乘格式。 因此,如果alpha被预乘,则该方法将其从颜色分量中分离出来。 例如,如果alpha值为0,则颜色值均为0。- 重写:
-
getRGB在类ColorModel - 参数
-
pixel- 指定的像素 - 结果
- 指定像素的颜色/ alpha分量的RGB值。
- 另请参见:
-
ColorModel.getRGBdefault()
-
getRed
public int getRed(Object inData)
返回指定像素的红色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 如果α值是0,例如,红色值是0。如果inData不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出inData不够大,不能保存这个像素值ColorModel。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType抛出异常。 如果transferType不支持UnsupportedOperationException则抛出ColorModel。- 重写:
-
getRed在类ColorModel - 参数
-
inData- 包含像素值的数组 - 结果
- 指定像素的红色分量的值。
- 异常
-
ArrayIndexOutOfBoundsException- 如果inData不足以容纳此颜色模型的像素值 -
ClassCastException- 如果inData不是类型transferType的基本数组 -
UnsupportedOperationException- 如果此颜色模型不支持此transferType
-
getGreen
public int getGreen(Object inData)
返回指定像素的绿色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 如果α值是0,例如,绿色的值为0。如果inData不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出inData不够大,不能保存这个像素值ColorModel。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType抛出异常。 如果transferType不支持UnsupportedOperationException则抛出ColorModel。- 重写:
-
getGreen在类ColorModel - 参数
-
inData- 包含像素值的数组 - 结果
- 指定像素的绿色分量的值。
- 异常
-
ArrayIndexOutOfBoundsException- 如果inData不足以容纳此颜色模型的像素值 -
ClassCastException- 如果inData不是transferType类型的基本数组 -
UnsupportedOperationException- 如果此颜色模型不支持此transferType
-
getBlue
public int getBlue(Object inData)
返回指定像素的蓝色分量,在默认RGBColorSpace(sRGB)中从0到255缩放。 必要时进行颜色转换。 像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 返回值是非预乘值。 因此,如果alpha被预乘,则此方法在返回值之前将其分开。 如果α值是0,例如,蓝色值为0。如果inData不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出inData不够大,不能保存这个像素值ColorModel。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType抛出异常。 如果transferType不支持UnsupportedOperationException则抛出ColorModel。- 重写:
-
getBlue在课程ColorModel - 参数
-
inData- 包含像素值的数组 - 结果
- 指定像素的蓝色分量的值。
- 异常
-
ArrayIndexOutOfBoundsException- 如果inData不足以容纳此颜色模型的像素值 -
ClassCastException-如果inData不是类型的基本数组transferType -
UnsupportedOperationException- 如果此颜色模型不支持此transferType
-
getAlpha
public int getAlpha(Object inData)
返回指定像素的alpha分量,从0到255缩放。像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 如果inData不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出inData不够大,不能保存这个像素值ColorModel。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType,则会抛出异常。 如果这个transferType不支持,一个UnsupportedOperationException异常。- 重写:
-
getAlpha类ColorModel - 参数
-
inData- 指定的像素 - 结果
- 指定像素的alpha分量,从0到255缩放。
- 异常
-
ClassCastException- 如果inData不是类型transferType的原始数组 -
ArrayIndexOutOfBoundsException- 如果inData不足以容纳此ColorModel的像素值 -
UnsupportedOperationException- 如果此tranferType不支持此ColorModel
-
getRGB
public int getRGB(Object inData)
以默认RGB颜色模型格式返回指定像素的颜色/ alpha分量。 必要时进行颜色转换。 像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 如果inData不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出inData不够大,不能保存这个像素值ColorModel。 返回的值采用非预乘格式。 因此,如果alpha被预乘,则该方法将其从颜色分量中分离出来。 例如,如果alpha值为0,则颜色值为0.由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType,则会抛出异常。- 重写:
-
getRGB在类ColorModel - 参数
-
inData- 指定的像素 - 结果
- 指定像素的颜色和alpha分量。
- 异常
-
UnsupportedOperationException- 如果这个transferType不支持ColorModel - 另请参见:
-
ColorModel.getRGBdefault()
-
getDataElements
public Object getDataElements(int rgb, Object pixel)
在给定默认RGB颜色模型中的整数像素表示的情况下,返回此ColorModel像素的数据元素数组表示形式。 然后可以将此数组传递给WritableRaster对象的setDataElements方法。 如果像素变量为null,则分配新数组。 如果pixel不是null,则它必须是类型为transferType的基本数组; 否则,抛出ClassCastException。 一个ArrayIndexOutOfBoundsException如果抛出pixel不够大,不能保存这个像素值ColorModel。 返回像素阵列。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType抛出异常。- 重写:
-
getDataElements在类ColorModel - 参数
-
rgb- 默认RGB颜色模型中的整数像素表示 -
pixel- 指定的像素 - 结果
-
此
ColorModel指定像素的数组表示ColorModel - 异常
-
ClassCastException- 如果pixel不是类型transferType的原始数组 -
ArrayIndexOutOfBoundsException- 如果pixel不足以容纳此ColorModel的像素值 -
UnsupportedOperationException- 如果这个transferType不支持ColorModel - 另请参见:
-
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
-
getComponents
public final int[] getComponents(int pixel, int[] components, int offset)返回此ColorModel给定像素的非标准化颜色/ alpha分量ColorModel。 像素值指定为int。 如果components阵列是null,则分配新阵列。 返回components数组。 颜色/ alpha分量存储中components数组以offset,即使阵列通过这种方法分配的。 一个ArrayIndexOutOfBoundsException如果抛出components数组不null,是不是大到足以容纳所有的颜色和alpha分量,开始offset。- 重写:
-
getComponents在类ColorModel - 参数
-
pixel- 指定的像素 -
components- 用于接收指定像素的颜色和alpha分量的数组 -
offset-components数组的偏移量,开始存储颜色和alpha分量 - 结果
- 一个数组,包含从指定偏移量开始的指定像素的颜色和alpha分量。
-
getComponents
public final int[] getComponents(Object pixel, int[] components, int offset)
返回此ColorModel给定像素的非标准化颜色/ alpha分量ColorModel。 像素值由作为对象引用传入的类型为transferType的数据元素数组指定。 如果pixel不是类型的基本数组transferType,一个ClassCastException被抛出。 一个ArrayIndexOutOfBoundsException如果抛出pixel不够大,不能保存这个像素值ColorModel。 如果components阵列是null,则分配新阵列。 返回components数组。 颜色/ alpha分量存储中components数组以offset,即使阵列通过这种方法分配的。 一个ArrayIndexOutOfBoundsException如果抛出components数组不null,是不是大到足以容纳所有的颜色和alpha分量,开始offset。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType抛出异常。- 重写:
-
getComponents在课程ColorModel - 参数
-
pixel- 指定的像素 -
components- 用于接收指定像素的颜色和alpha分量的数组 -
offset- 进入components数组的偏移量,开始存储颜色和alpha分量 - 结果
- 一个数组,包含从指定偏移量开始的指定像素的颜色和alpha分量。
- 异常
-
ClassCastException- 如果pixel不是类型transferType的基本数组 -
ArrayIndexOutOfBoundsException- 如果pixel不足以容纳此ColorModel的像素值,或者如果components不是null并且不足以容纳所有颜色和alpha分量,offset开始 -
UnsupportedOperationException- 如果此颜色模型不支持此transferType
-
createCompatibleWritableRaster
public final WritableRaster createCompatibleWritableRaster(int w, int h)
创建具有指定宽度和高度的WritableRaster,其数据布局(SampleModel)与此ColorModel兼容。- 重写:
-
createCompatibleWritableRaster在类ColorModel - 参数
-
w- 要应用于新WritableRaster的宽度 -
h- 要应用于新WritableRaster的高度 - 结果
-
具有指定宽度和高度的
WritableRaster对象。 - 异常
-
IllegalArgumentException- 如果w或h小于或等于零 - 另请参见:
-
WritableRaster,SampleModel
-
getDataElement
public int getDataElement(int[] components, int offset)在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel表示为int的像素值。 一个ArrayIndexOutOfBoundsException如果抛出components阵列是不是大到足以容纳所有的颜色和alpha分量,开始offset。- 重写:
-
getDataElement在课程ColorModel - 参数
-
components- 非标准化颜色和alpha分量的数组 -
offset-索引为components,从此处开始检索颜色和alpha分量 - 结果
-
此
ColorModel对应于指定组件的int像素值。 - 异常
-
ArrayIndexOutOfBoundsException- 如果components数组不足以容纳从offset开始的所有颜色和alpha分量
-
getDataElements
public Object getDataElements(int[] components, int offset, Object obj)
在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel像素的数据元素数组表示。 然后可以将此数组传递给WritableRaster对象的setDataElements方法。 一个ArrayIndexOutOfBoundsException如果被抛出components阵列是没有大到足以容纳所有的颜色和alpha分量,起始偏移量。 如果obj变量为null,则分配新阵列。 如果obj不是null,则它必须是类型为transferType的基本数组; 否则,抛出ClassCastException。 一个ArrayIndexOutOfBoundsException如果抛出obj不够大,不能保存这个像素值ColorModel。 由于DirectColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType,则会抛出异常。- 重写:
-
getDataElements类ColorModel - 参数
-
components- 非标准化颜色和alpha分量的数组 -
offset-索引为components在开始检索颜色和alpha分量 -
obj- 表示颜色和alpha分量数组的Object - 结果
-
Object表示颜色和alpha分量的数组。 - 异常
-
ClassCastException- 如果obj不是类型transferType的原始数组 -
ArrayIndexOutOfBoundsException- 如果obj不足以容纳此ColorModel的像素值,或者components数组不足以容纳从offset开始的所有颜色和alpha分量 -
UnsupportedOperationException- 如果此颜色模型不支持此transferType - 另请参见:
-
WritableRaster.setDataElements(int, int, java.lang.Object),SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
-
coerceData
public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
强制栅格数据与isAlphaPremultiplied变量中指定的状态匹配,假设此数据当前由ColorModel正确描述。 它可以将颜色栅格数据乘以或除以alpha,或者如果数据处于正确状态则不执行任何操作。 如果需要强制数据,此方法还将返回此ColorModel的实例,并isAlphaPremultiplied设置isAlphaPremultiplied标志。 如果此UnsupportedOperationException不支持此transferType,则此方法将抛出ColorModel。 由于ColorModel可以是子类,因此子类继承此方法的实现,如果它们不覆盖它,则如果它们使用不受支持的transferType,则会抛出异常。- 重写:
-
coerceData在类ColorModel - 参数
-
raster-WritableRaster数据 -
isAlphaPremultiplied-true如果alpha被预乘; 否则为false - 结果
-
表示强制数据的
ColorModel对象。 - 异常
-
UnsupportedOperationException- 此颜色模型不支持此transferType
-
isCompatibleRaster
public boolean isCompatibleRaster(Raster raster)
返回true如果raster与此兼容ColorModel和false,如果事实并非如此。- 重写:
-
isCompatibleRaster类ColorModel - 参数
-
raster- 要测试兼容性的Raster对象 - 结果
-
true如果raster与此ColorModel兼容; 否则为false。
-
toString
public String toString()
返回String表示此DirectColorModel。- 重写:
-
toString在课程ColorModel - 结果
-
String代表这个DirectColorModel。
-
-