public abstract class PackedColorModel extends ColorModel
PackedColorModel类是一个抽象的ColorModel类,它与像素值一起使用,它们将颜色和alpha信息表示为单独的样本,并将单个像素的所有样本包装为单个int,short或byte数量。
这个类可以随意使用ColorSpace 。
颜色样本中的像素值的数量必须相同的颜色成分的数目ColorSpace 。
可以有一个单一的alpha样本。
该数组的长度总是为1那些使用类型的基本数组像素表示方法transferType 。
支持的传输类型是DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT和DataBuffer.TYPE_INT。
颜色和alpha样本以位掩码表示的位存储在阵列的单个元素中。
每个位掩码必须是连续的,掩码不能重叠。
相同的掩码适用于其他方法使用的单个int像素表示。
面具和颜色/阿尔法样本的对应关系如下:
getNumComponents - 1的索引识别 。 getNumColorComponents指数是指颜色样本。 ColorSpace 。 通常,这反映了颜色空间类型的名称(例如,TYPE_RGB),索引0对应于红色,索引1为绿色,索引2为蓝色。 从显示或处理目的,从像素值到颜色/α分量的转换是样本与组件的一一对应关系。 A PackedColorModel通常与使用掩模定义打包样本的图像数据一起使用。 例如, PackedColorModel可以结合使用具有SinglePixelPackedSampleModel构建BufferedImage 。 通常SampleModel和ColorModel使用的面具将是一样的。 但是,如果它们是不同的,像素数据的颜色解释根据的面具做ColorModel 。
单个int像素表示对于此类的所有对象是有效的,因为总是可以在单个int中表示与该类一起使用的像素值。 因此,由于无效的像素值,使用此表示的方法不会抛出IllegalArgumentException 。
PackedColorModel的子类是DirectColorModel ,它类似于X11 TrueColor视觉。
pixel_bits, transferTypeBITMASK, OPAQUE, TRANSLUCENT| Constructor and Description |
|---|
PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
从颜色掩码数组中构造一个
PackedColorModel ,它指定一个
int像素表示中的哪个位包含每个颜色样本和一个alpha掩码。
|
PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
从指定的掩码构造一个
PackedColorModel ,它们指出
int像素表示中的哪些位包含alpha,红,绿和蓝色样本。
|
| Modifier and Type | Method and Description |
|---|---|
SampleModel |
createCompatibleSampleModel(int w, int h)
创建
SampleModel具有指定的宽度和高度,具有与此兼容的数据布局
ColorModel 。
|
boolean |
equals(Object obj)
测试指定的
Object是一个实例
PackedColorModel和等于这个
PackedColorModel 。
|
WritableRaster |
getAlphaRaster(WritableRaster raster)
返回一个 WritableRaster ,表示图像的alpha通道,从输入WritableRaster 。
|
int |
getMask(int index)
返回掩码,指示像素中的哪些位包含指定的颜色/ alpha样本。
|
int[] |
getMasks()
返回一个掩码数组,指示像素中的哪些位包含颜色和alpha样本。
|
boolean |
isCompatibleSampleModel(SampleModel sm)
检查指定的
SampleModel与此兼容
ColorModel 。
|
coerceData, createCompatibleWritableRaster, finalize, getAlpha, getAlpha, getBlue, getBlue, getColorSpace, getComponents, getComponents, getComponentSize, getComponentSize, getDataElement, getDataElement, getDataElements, getDataElements, getDataElements, getGreen, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRed, getRGB, getRGB, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied, isCompatibleRaster, toStringpublic PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
PackedColorModel ,它指定int像素表示中的哪个位包含每个颜色样本,以及一个alpha掩码。
颜色组件在指定的ColorSpace 。
colorMaskArray的长度应该是ColorSpace中的ColorSpace 。
每个掩码中的所有位必须是连续的,并且适合int像素表示的指定数目的最低有效位。
如果alphaMask是0,则没有alpha。
如果有alpha, boolean isAlphaPremultiplied指定如何在像素值中解释颜色和alpha样本。
如果boolean为true ,则假定颜色样本已经乘以α样本。
透明度( trans )指定了此颜色模型可以表示哪些alpha值。
传输类型是用于表示像素值的原始数组的类型。
space - 指定的
ColorSpace
bits - 像素值中的位数
colorMaskArray - 指定表示表示颜色分量的像素值的位的掩码的数组
alphaMask - 指定表示表示α分量的像素值的位的掩码
isAlphaPremultiplied - true如果颜色样本被alpha样本预乘,
false否则
trans - 指定可以由此颜色模型表示的alpha值
transferType - 用于表示像素值的数组类型
IllegalArgumentException - 如果
bits小于1或大于32
public PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
PackedColorModel ,它们指示int像素表示中的哪些位包含alpha,红,绿和蓝色样本。
颜色组件在指定的ColorSpace ,它必须是ColorSpace.TYPE_RGB类型。
每个掩码中的所有位必须是连续的,并且适合int像素表示的指定数目的最低有效位。
如果amask为0,则不存在alpha。
如果有alpha, boolean isAlphaPremultiplied指定如何在像素值中解释颜色和alpha样本。
如果boolean为true ,则假定颜色样本已被乘以α样本。
透明度trans指定了这个颜色模型可以表示哪些alpha值。
传输类型是用于表示像素值的原始数组的类型。
space - 指定的
ColorSpace
bits - 像素值中的位数
rmask - 指定表示表示红色分量的像素值的位的掩码
gmask - 指定表示表示绿色分量的像素值的位的掩码
bmask - 指定表示表示蓝色分量的像素值的位的掩码
amask - 指定表示表示α分量的像素值的位的掩码
isAlphaPremultiplied - true如果颜色样品被α样品预乘,
false否则
trans - 指定可以由此颜色模型表示的alpha值
transferType - 用于表示像素值的数组的类型
IllegalArgumentException - 如果
space不是TYPE_RGB空间
ColorSpace
public final int getMask(int index)
index对应于颜色空间中颜色样本名称的位置。
因此, index等于0为CMYK的ColorSpace将对应于青色和index等于1将对应于品红色。
如果有alpha,alpha index将是:
alphaIndex = numComponents() - 1;
index - 指定的颜色或alpha样本
int像素表示包含由指定的颜色或α-样品
index 。
ArrayIndexOutOfBoundsException -如果
index比组件1在这个数减更大
PackedColorModel或如果
index小于零
public final int[] getMasks()
int像素表示的哪个位包含颜色或α样本。
public SampleModel createCompatibleSampleModel(int w, int h)
SampleModel具有指定的宽度和高度,具有与此兼容的数据布局
ColorModel 。
createCompatibleSampleModel在类别
ColorModel
w - 描述的图像数据的区域的宽度(以像素为单位)
h - 描述的图像数据的区域的高度(以像素为单位)
SampleModel 。
IllegalArgumentException - 如果
w或
h不大于0
SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel与此兼容ColorModel 。
如果sm是null ,此方法返回false 。
isCompatibleSampleModel在类别
ColorModel
sm - 指定的
SampleModel或
null
true如果SampleModel的SampleModel与此ColorModel ;
false否则。
SampleModel
public WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster ,表示从输入WritableRaster的图像的Alpha通道。
该方法假设与此ColorModel WritableRaster对象存储α波段(如果存在)作为最后的图像数据带。
返回null如果没有与此相关的独立空间alpha通道ColorModel 。
此方法创建一个新的WritableRaster ,但共享数据数组。
getAlphaRaster在类别
ColorModel
raster - 一个包含图像的
WritableRaster
WritableRaster表示包含在图像的α信道
raster 。
public boolean equals(Object obj)
Object是一个实例
PackedColorModel和等于这个
PackedColorModel 。
equals在类别
ColorModel
obj -
Object以测试平等
true如果指定Object是的一个实例PackedColorModel并且等于此PackedColorModel ;
false否则。
Object.hashCode() , HashMap
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.