©
本文档使用
php.cn手册 发布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
1 2 3 |
|
1 |
|
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.awt.image.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, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
1 2 3 4 5 6 7 |
|
int
像素表示形式中哪些位包含每个颜色的采样)和 alpha 掩码来构造一个 PackedColorModel
。颜色分量在指定的 ColorSpace
中。colorMaskArray
的长度应该是 ColorSpace
中的分量数。每个掩码中的所有位必须是连续的,并且能够放入指定 int
像素表示形式的最低有效位数中。如果 alphaMask
为 0,则不存在 alpha。如果存在 alpha,则 boolean
值 isAlphaPremultiplied
指定如何解释像素值中的颜色和 alpha 采样。如果该 boolean
值为 true
,则假定颜色采样已经预乘以 alpha 采样。透明度 trans
指定了此颜色模型可以表示的 alpha 值。传输类型是用于表示像素值的基本数组类型。
space
- 指定的 ColorSpace
bits
- 像素值中的位数colorMaskArray
- 指定掩码的数组,该掩码表示像素值中表示颜色分量的位alphaMask
- 指定像素值中表示 alpha 分量的位掩码isAlphaPremultiplied
- 如果颜色采样预乘了 alpha 采样,则为 true
;否则为 false
trans
- 指定可由此颜色模型表示的 alpha 值transferType
- 用于表示像素值的数组类型
IllegalArgumentException
- 如果 bits
小于 1 或大于 321 2 3 4 5 6 7 8 9 |
|
PackedColorModel
,该掩码指示 int
像素表示形式中的哪些位包含 alpha、红色、绿色和蓝色采样。颜色分量在指定的 ColorSpace
中,并且必须是 ColorSpace.TYPE_RGB 类型。每个掩码中的所有位必须是连续的,并且能够放入指定 int
像素表示形式的最低有效位数中。如果 amask
是 0,则不存在 alpha。如果存在 alpha,则 boolean
值 isAlphaPremultiplied
指定如何解释像素值中的颜色和 alpha 采样。如果该 boolean
值为 true
,则假定颜色采样已经预乘以 alpha 采样。透明度 trans
指定了此颜色模型可以表示的 alpha 值。传输类型是用于表示像素值的基本数组类型。
space
- 指定的 ColorSpace
bits
- 像素值中的位数rmask
- 指定像素值中表示红色分量的位掩码gmask
- 指定像素值中表示绿色分量的位掩码bmask
- 指定像素值中表示蓝色分量的位掩码amask
- 指定像素值中表示 alpha 分量的位掩码isAlphaPremultiplied
- 如果颜色采样预乘了 alpha 采样,则为 true
;否则为 false
trans
- 指定可由此颜色模型表示的 alpha 值transferType
- 用于表示像素值的数组类型
IllegalArgumentException
- 如果 space
不是 TYPE_RGB 空间ColorSpace
方法详细信息 |
---|
1 |
|
index
对应于颜色空间中颜色采样名称的放置位置。因此对于 CMYK ColorSpace,index
0 对应 Cyan,而 index
1 则对应 Magenta。如果存在 alpha,则 alpha 的 index
是:
1 |
|
index
- 指定的颜色或 alpha 采样
int
像素表示中的哪些位包含 index
所指定的颜色或 alpha 采样的掩码。
ArrayIndexOutOfBoundsException
- 如果 index
大于此 PackedColorModel
中的分量数减 1,或者 index
小于 01 |
|
int
像素表示形式中的哪些位包含颜色或 alpha 采样。1 2 |
|
ColorModel
兼容的 SampleModel
。
ColorModel
中的 createCompatibleSampleModel
w
- 所描述的图像数据区域的宽度(以像素为单位)h
- 所描述的图像数据区域的高度(以像素为单位)
SampleModel
。
IllegalArgumentException
- 如果 w
或 h
不大于 0SampleModel
1 |
|
SampleModel
是否与此 ColorModel
兼容。如果 sm
为 null
,则此方法返回 false
。
ColorModel
中的 isCompatibleSampleModel
sm
- 指定的 SampleModel
,或者为 null
SampleModel
与此 ColorModel
兼容,则返回 true
;否则返回 false
。SampleModel
1 |
|
WritableRaster
提取,并且表示图像 alpha 通道的 WritableRaster
。此方法假定与此 ColorModel
关联的 WritableRaster
对象将 alpha band(如果有)存储为图像数据的最后一个 band。如果没有与此 ColorModel
关联的、占据独立空间的 alpha 通道,则返回 null
。此方法创建一个新的 WritableRaster
,但是共享原来的数据数组。
ColorModel
中的 getAlphaRaster
raster
- 包含图像的 WritableRaster
raster
中所含图像 alpha 通道的 WritableRaster
。1 |
|
Object
是否为 PackedColorModel
的一个实例并且等于此 PackedColorModel
。
ColorModel
中的 equals
obj
- 要测试相等性的 Object
Object
是 PackedColorModel
的一个实例并且等于此 PackedColorModel
,则返回 true
;否则返回 false
。Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。