- 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
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ColorModel
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
强制栅格数据与isAlphaPremultiplied
变量中指定的状态匹配,假设此数据当前由ColorModel
正确描述。WritableRaster
createCompatibleWritableRaster(int w, int h)
创建具有指定宽度和高度的WritableRaster
,其数据布局(SampleModel
)与此ColorModel
兼容。int
getAlpha(int pixel)
返回指定像素的alpha分量,从0到255缩放。int
getAlpha(Object inData)
返回指定像素的alpha分量,从0到255缩放。int
getAlphaMask()
返回指示int
像素表示中哪些位包含alpha分量的掩码。int
getBlue(int pixel)
返回指定像素的蓝色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getBlue(Object inData)
返回指定像素的蓝色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getBlueMask()
返回指示int
像素表示中哪些位包含蓝色分量的掩码。int[]
getComponents(int pixel, int[] components, int offset)
返回此ColorModel
给定像素的非标准化颜色/ alpha分量ColorModel
。int[]
getComponents(Object pixel, int[] components, int offset)
返回此ColorModel
给定像素的非标准化颜色/ alpha分量ColorModel
。int
getDataElement(int[] components, int offset)
在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel
表示为int
的像素值。Object
getDataElements(int[] components, int offset, Object obj)
在给定一组非标准化颜色/ alpha分量的情况下,返回此ColorModel
像素的数据元素数组表示。Object
getDataElements(int rgb, Object pixel)
在给定默认RGB颜色模型中的整数像素表示的情况下,返回此ColorModel
像素的数据元素数组表示形式。int
getGreen(int pixel)
返回指定像素的绿色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getGreen(Object inData)
返回指定像素的绿色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getGreenMask()
返回指示int
像素表示中哪些位包含绿色分量的掩码。int
getRed(int pixel)
返回指定像素的红色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getRed(Object inData)
返回指定像素的红色分量,在默认RGBColorSpace
(sRGB)中从0到255缩放。int
getRedMask()
返回指示int
像素表示中哪些位包含红色分量的掩码。int
getRGB(int pixel)
以默认RGB颜色模型格式返回像素的颜色/ alpha分量。int
getRGB(Object inData)
以默认RGB颜色模型格式返回指定像素的颜色/ alpha分量。boolean
isCompatibleRaster(Raster raster)
返回true
如果raster
与此兼容ColorModel
和false
,如果事实并非如此。String
toString()
返回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,则boolean
isAlphaPremultiplied
指定如何解释像素值中的颜色和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
。
-
-