|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.image.ColorModel
java.awt.image.PackedColorModel
public abstract class PackedColorModel
PackedColorModel 类是一个抽象 ColorModel 类,它使用的像素值以单独采样表示颜色和 alpha 信息,并将单个像素的所有采样打包到单个 int、short 或 byte 量中。此类可与任意 ColorSpace 一起使用。像素值中的颜色采样数必须与 ColorSpace 中的颜色分量数相同。可以有单个 alpha 采样。对于那些使用 transferType 类型的基本数组像素表示形式的方法,数组的长度总是 1。受支持的传输类型有 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT 和 DataBuffer.TYPE_INT。颜色和 alpha 采样按位掩码所指示的位存储在数组的单个元素中。每个位掩码必须是连续的,并且掩码不能重叠。相同的掩码适用于其他方法使用的单个 int 像素表示形式。掩码和颜色/alpha 采样的对应关系如下:
getNumComponents - 1 的索引来标识各掩码。
getNumColorComponents 个索引指颜色采样。
ColorSpace 所指定。此顺序通常反映颜色空间类型的名称(例如 TYPE_RGB),索引 0 对应于红色、索引 1 对应于绿色、索引 2 则对应于蓝色。
出于显示或处理目的而执行的像素值到颜色/alpha 分量的转换是采样到分量的一一对应关系。PackedColorModel 通常与使用掩码来定义已打包采样的图像数据一起使用。例如,可结合使用 PackedColorModel 和 SinglePixelPackedSampleModel 来构造一个 BufferedImage。通常 SampleModel 所用的掩码与 ColorModel 使用的相同。但是如果它们不同,则根据 ColorModel 的掩码对像素数据进行颜色解释。
单个 int 的像素表示形式对于此类的所有对象都是有效的,因为总是能够以单个 int 表示此类使用的像素值。因此,使用此种表示形式的方法不会由于无效的像素值而抛出 IllegalArgumentException。
PackedColorModel 的子类是 DirectColorModel,类似于 X11 TrueColor 可视化模型类型。
DirectColorModel,
SinglePixelPackedSampleModel,
BufferedImage| 字段摘要 |
|---|
| 从类 java.awt.image.ColorModel 继承的字段 |
|---|
pixel_bits, transferType |
| 从接口 java.awt.Transparency 继承的字段 |
|---|
BITMASK, OPAQUE, TRANSLUCENT |
| 构造方法摘要 | |
|---|---|
PackedColorModel(ColorSpace space,
int bits,
int[] colorMaskArray,
int alphaMask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
根据颜色掩码数组(指定了 int 像素表示形式中哪些位包含每个颜色的采样)和 alpha 掩码来构造一个 PackedColorModel。 |
|
PackedColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
根据指定的掩码构造一个 PackedColorModel,该掩码指示 int 像素表示形式中的哪些位包含 alpha、红色、绿色和蓝色采样。 |
|
| 方法摘要 | |
|---|---|
SampleModel |
createCompatibleSampleModel(int w,
int h)
创建一个具有指定宽度和高度、数据布局与此 ColorModel 兼容的 SampleModel。 |
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 兼容。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, getClass, notify, notifyAll, wait, wait, wait |
| 构造方法详细信息 |
|---|
public PackedColorModel(ColorSpace space,
int bits,
int[] colorMaskArray,
int alphaMask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
int 像素表示形式中哪些位包含每个颜色的采样)和 alpha 掩码来构造一个 PackedColorModel。颜色分量在指定的 ColorSpace 中。colorMaskArray 的长度应该是 ColorSpace 中的分量数。每个掩码中的所有位必须是连续的,并且能够放入指定 int 像素表示形式的最低有效位数中。如果 alphaMask 为 0,则不存在 alpha。如果存在 alpha,则 boolean 值 isAlphaPremultiplied 指定如何解释像素值中的颜色和 alpha 采样。如果该 boolean 值为 true,则假定颜色采样已经预乘以 alpha 采样。透明度 trans 指定了此颜色模型可以表示的 alpha 值。传输类型是用于表示像素值的基本数组类型。
space - 指定的 ColorSpacebits - 像素值中的位数colorMaskArray - 指定掩码的数组,该掩码表示像素值中表示颜色分量的位alphaMask - 指定像素值中表示 alpha 分量的位掩码isAlphaPremultiplied - 如果颜色采样预乘了 alpha 采样,则为 true;否则为 falsetrans - 指定可由此颜色模型表示的 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,则假定颜色采样已经预乘以 alpha 采样。透明度 trans 指定了此颜色模型可以表示的 alpha 值。传输类型是用于表示像素值的基本数组类型。
space - 指定的 ColorSpacebits - 像素值中的位数rmask - 指定像素值中表示红色分量的位掩码gmask - 指定像素值中表示绿色分量的位掩码bmask - 指定像素值中表示蓝色分量的位掩码amask - 指定像素值中表示 alpha 分量的位掩码isAlphaPremultiplied - 如果颜色采样预乘了 alpha 采样,则为 true;否则为 falsetrans - 指定可由此颜色模型表示的 alpha 值transferType - 用于表示像素值的数组类型
IllegalArgumentException - 如果 space 不是 TYPE_RGB 空间ColorSpace| 方法详细信息 |
|---|
public final int getMask(int index)
index 对应于颜色空间中颜色采样名称的放置位置。因此对于 CMYK ColorSpace,index 0 对应 Cyan,而 index 1 则对应 Magenta。如果存在 alpha,则 alpha 的 index 是:
alphaIndex = numComponents() - 1;
index - 指定的颜色或 alpha 采样
int 像素表示中的哪些位包含 index 所指定的颜色或 alpha 采样的掩码。
ArrayIndexOutOfBoundsException - 如果 index 大于此 PackedColorModel 中的分量数减 1,或者 index 小于 0public final int[] getMasks()
int 像素表示形式中的哪些位包含颜色或 alpha 采样。
public SampleModel createCompatibleSampleModel(int w,
int h)
ColorModel 兼容的 SampleModel。
ColorModel 中的 createCompatibleSampleModelw - 所描述的图像数据区域的宽度(以像素为单位)h - 所描述的图像数据区域的高度(以像素为单位)
SampleModel。
IllegalArgumentException - 如果 w 或 h 不大于 0SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel 是否与此 ColorModel 兼容。如果 sm 为 null,则此方法返回 false。
ColorModel 中的 isCompatibleSampleModelsm - 指定的 SampleModel,或者为 null
SampleModel 与此 ColorModel 兼容,则返回 true;否则返回 false。SampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster 提取,并且表示图像 alpha 通道的 WritableRaster。此方法假定与此 ColorModel 关联的 WritableRaster 对象将 alpha band(如果有)存储为图像数据的最后一个 band。如果没有与此 ColorModel 关联的、占据独立空间的 alpha 通道,则返回 null。此方法创建一个新的 WritableRaster,但是共享原来的数据数组。
ColorModel 中的 getAlphaRasterraster - 包含图像的 WritableRaster
raster 中所含图像 alpha 通道的 WritableRaster。public boolean equals(Object obj)
Object 是否为 PackedColorModel 的一个实例并且等于此 PackedColorModel。
ColorModel 中的 equalsobj - 要测试相等性的 Object
Object 是 PackedColorModel 的一个实例并且等于此 PackedColorModel,则返回 true;否则返回 false。Object.hashCode(),
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。