|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.image.ColorModel java.awt.image.IndexColorModel
public class IndexColorModel
IndexColorModel
类是一个 ColorModel
类,它使用由单个样本组成的像素值,这些像素值是默认 sRGB 颜色空间中固定 colormap 中的索引。colormap 指定了对应于每个索引的红色、绿色、蓝色和可选的 alpha 分量。在 colormap 中,所有分量都以 8 位无符号整数值表示。某些构造方法允许调用者在 colormap 中指定“空洞”:通过 BigInteger
对象中的位集指示哪些 colormap 项是有效的,以及哪些项表示不可用的颜色。此颜色模型与 X11 PseudoColor 可视化模型类似。
某些构造方法还提供了为 colormap 中的每个像素指定 alpha 分量的方法,而其他构造方法则要么不提供这种方法,要么在某些情况中使用一个标志来指示 colormap 数据是否包含 alpha 值。如果未向构造方法提供 alpha 值,则将为每个条目假定一个不透明的 alpha 分量 (alpha = 1.0)。无论为像素值提供或假定使用何种 alpha 分量,都可以提供一个指示该像素完全透明的可选透明像素值。注意,IndexColorModel
对象 colormap 中的颜色分量不会预乘 alpha 分量。
如果 IndexColorModel
对象的透明值是 Transparency.OPAQUE
,则 hasAlpha
和 getNumComponents
方法(均继承自 ColorModel
)分别返回 false 和 3。对于所有其他透明度值,hasAlpha
返回 true,getNumComponents
返回 4。
用于 colormap 中索引的那些值取自像素表示形式的最低有效 n 位,其中 n 基于构造方法中指定的像素大小。对于小于 8 位的像素大小,n 向上舍入为 2 的次幂(3 变为 4,5、6 和 7 则变为 8)。对于介于 8 和 16 位之间的像素大小,n 就等于像素大小。大于 16 位的像素大小不受此类的支持。在像素表示形式中,超过 n 的高位字节将被忽略。大于或等于映射大小、但小于 2n 的索引值是未定义的,并对所有颜色和 alpha 组件返回 0。
对于那些使用
此类中的很多方法都声明为 final。这样做的原因是底层本机图形代码做出了有关布局和此类操作的假设,并且这些假设反映在标记为 final 的方法实现中。用户可以出于其他原因子类化此类,但是无法重写或修改这些方法的行为。
transferType
类型基本数组像素表示形式的方法,数组的长度总是一。支持的传输类型有 DataBuffer.TYPE_BYTE
和 DataBuffer.TYPE_USHORT
。因为总是能以单个 int 值表示此类使用的像素值,所以单个 int 像素表示形式对于此类的所有对象都是有效的。因此,使用这种表示形式的方法不会因无效的像素值而抛出 IllegalArgumentException
。
ColorModel
,
ColorSpace
,
DataBuffer
字段摘要 |
---|
从类 java.awt.image.ColorModel 继承的字段 |
---|
pixel_bits, transferType |
从接口 java.awt.Transparency 继承的字段 |
---|
BITMASK, OPAQUE, TRANSLUCENT |
构造方法摘要 | |
---|---|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b)
根据指定的红色、绿色和蓝色分量数组构造一个 IndexColorModel 。 |
|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
byte[] a)
根据给定的红色、绿色、蓝色和 alpha 分量数组构造一个 IndexColorModel 。 |
|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
int trans)
根据给定的红色、绿色和蓝色分量数组构造一个 IndexColorModel 。 |
|
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha)
根据交错存取红色、绿色、蓝色和可选 alpha 分量的单个数组构造一个 IndexColorModel 。 |
|
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha,
int trans)
根据交错存取红色、绿色、蓝色和可选 alpha 分量的单个数组构造一个 IndexColorModel 。 |
|
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
boolean hasalpha,
int trans,
int transferType)
根据一个 int 数组构造一个 IndexColorModel ,该数组中的每个 int 值都由默认 RGB 颜色模型格式的红色、绿色、蓝色和可选 alpha 分量构成。 |
|
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
int transferType,
BigInteger validBits)
根据一个 int 数组构造一个 IndexColorModel ,该数组中的每个 int 值都由默认 RGB 颜色模型格式的红色、绿色、蓝色和 alpha 分量构成。 |
方法摘要 | |
---|---|
BufferedImage |
convertToIntDiscrete(Raster raster,
boolean forceARGB)
返回一个 TYPE_INT_ARGB 或 TYPE_INT_RGB 的新 BufferedImage ,其 Raster 的像素数据是通过使用此 ColorModel 的颜色/alpha 分量数组扩展源 Raster 中的各索引来计算的。 |
SampleModel |
createCompatibleSampleModel(int w,
int h)
创建一个具有指定宽度和高度、数据布局与此 ColorModel 兼容的 SampleModel 。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
创建一个具有指定宽度和高度、数据布局 ( SampleModel ) 与此 ColorModel 兼容的 WritableRaster 。 |
void |
finalize()
不再引用此 ColorModel 后,释放与此 ColorModel 关联的系统资源。 |
int |
getAlpha(int pixel)
返回指定像素的 alpha 分量,该值为 0 到 255。 |
void |
getAlphas(byte[] a)
将 alpha 透明度分量数组复制到指定的数组中。 |
int |
getBlue(int pixel)
返回指定像素的蓝色分量,在默认的 RGB ColorSpace (sRGB) 中为 0 到 255。 |
void |
getBlues(byte[] b)
将蓝色分量数组复制到指定的数组中。 |
int[] |
getComponents(int pixel,
int[] components,
int offset)
返回此 ColorModel 中指定像素的非标准化颜色/alpha 分量数组。 |
int[] |
getComponents(Object pixel,
int[] components,
int offset)
返回此 ColorModel 中指定像素的非标准化颜色/alpha 分量数组。 |
int[] |
getComponentSize()
返回包含各个颜色/alpha 分量位数的数组。 |
int |
getDataElement(int[] components,
int offset)
在给定非标准化颜色/alpha 分量数组的情况下,以 int 形式返回此 ColorModel 中的像素值。 |
Object |
getDataElements(int[] components,
int offset,
Object pixel)
在给定非标准化颜色/alpha 分量数组的情况下,返回表示此 ColorModel 中像素的数据元素数组。 |
Object |
getDataElements(int rgb,
Object pixel)
根据默认 RGB 颜色模型中的整数像素表示形式,返回此 ColorModel 中像素的数据元素数组表示形式。 |
int |
getGreen(int pixel)
返回指定像素的绿色分量,在默认的 RGB ColorSpace (sRGB) 中为 0 到 255。 |
void |
getGreens(byte[] g)
将绿色分量数组复制到指定的数组中。 |
int |
getMapSize()
返回此 IndexColorModel 中颜色/alpha 分量数组的大小。 |
int |
getRed(int pixel)
返回指定像素的红色分量,在默认的 RGB ColorSpace (sRGB) 中为 0 到 255。 |
void |
getReds(byte[] r)
将红色分量数组复制到指定的数组中。 |
int |
getRGB(int pixel)
以默认 RGB 颜色模型格式返回像素的颜色/alpha 分量。 |
void |
getRGBs(int[] rgb)
将颜色和 alpha 分量数组中每个索引的数据转换成默认 RGB ColorModel 格式的 int 值,并将得到的 32 位 ARGB 值复制到指定数组中。 |
int |
getTransparency()
返回透明度。 |
int |
getTransparentPixel()
返回此 IndexColorModel 中透明像素的索引;如果没有 alpha 值为 0 的像素,则返回 -1。 |
BigInteger |
getValidPixels()
返回一个指示 colormap 中有效/无效像素的 BigInteger 。 |
boolean |
isCompatibleRaster(Raster raster)
如果 raster 与此 ColorModel 兼容,则返回 true ;如果不与此 ColorModel 兼容,则返回 false 。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
检查指定的 SampleModel 是否与此 ColorModel 兼容。 |
boolean |
isValid()
返回所有像素是否有效。 |
boolean |
isValid(int pixel)
返回像素是否有效。 |
String |
toString()
返回此 ColorModel 对象内容的 String 表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b)
IndexColorModel
。此颜色模型所描述的像素都具有非标准化的 255(标准化是 1.0)alpha 分量,这意味着这些像素是完全不透明的。所有指定颜色分量的数组都必须至少具有指定的条目数。ColorSpace
是默认的 sRGB 空间。由于此构造方法的所有参数中都没有 alpha 信息,所以透明度值总是为 Transparency.OPAQUE
。传输类型是 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
中能够保存单个像素的最小值。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小r
- 红色分量数组g
- 绿色分量数组b
- 蓝色分量数组
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)
IndexColorModel
。此颜色模型所描述的像素都具有非标准化的 255(标准化是 1.0)alpha 分量,这意味着这些像素是完全不透明的,但指示呈现为透明的像素除外。所有指定颜色分量的数组都必须至少具有指定的条目数。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
或 Transparency.BITMASK
,正如上文类描述中所指定的。传输类型是能够保存单个像素的 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
的最小值。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小r
- 红色分量数组g
- 绿色分量数组b
- 蓝色分量数组trans
- 透明像素的索引
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)
IndexColorModel
。所有指定分量的数组都必须至少具有指定的条目数。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
、Transparency.BITMASK
或 Transparency.TRANSLUCENT
,正如上文类描述中所指定的。传输类型是能够保存单个像素的 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
的最小值。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小r
- 红色分量数组g
- 绿色分量数组b
- 蓝色分量数组a
- alpha 值分量数组
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)
IndexColorModel
。该数组中必须具有足够的值,以填充具有指定大小的所有所需分量数组。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
、Transparency.BITMASK
或 Transparency.TRANSLUCENT
,正如上文类描述中所指定的。传输类型是能够保存单个像素的 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
的最小值。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小cmap
- 颜色分量数组start
- 第一个颜色分量的起始偏移量hasalpha
- 指示 cmap
数组中是否包含 alpha 值
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)
IndexColorModel
。指定的透明索引表示完全透明的像素,无论为其指定的 alpha 值是什么。该数组中必须具有足够的值,以填充具有指定大小的所有所需分量数组。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
、Transparency.BITMASK
或 Transparency.TRANSLUCENT
,正如上文类描述中所指定的。传输类型是能够保存单个像素的 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
的最小值。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小cmap
- 颜色分量数组start
- 第一个颜色分量的起始偏移量hasalpha
- 指示 cmap
数组中是否包含 alpha 值trans
- 完全透明像素的索引
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1public IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)
IndexColorModel
,该数组中的每个 int 值都由默认 RGB 颜色模型格式的红色、绿色、蓝色和可选 alpha 分量构成。指定的透明索引表示完全透明的像素,无论为其指定的 alpha 值是什么。该数组中必须具有足够的值,以填充具有指定大小的所有所需分量数组。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
、Transparency.BITMASK
或 Transparency.TRANSLUCENT
,正如上文类描述中所指定的。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小cmap
- 颜色分量数组start
- 第一个颜色分量的起始偏移量hasalpha
- 指示 cmap
数组中是否包含 alpha 值trans
- 完全透明像素的索引transferType
- 用于表示像素值的数组数据类型。该数据类型必须是 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
。
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1
IllegalArgumentException
- 如果 transferType
不是 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
之一public IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
int
数组构造一个 IndexColorModel
,该数组中的每个 int
值都由默认 RGB 颜色模型格式的红色、绿色、蓝色和 alpha 分量构成。该数组中必须具有足够的值,以填充具有指定大小的所有所需分量数组。ColorSpace
是默认的 sRGB 空间。根据参数的不同,透明度值可能是 Transparency.OPAQUE
、Transparency.BITMASK
或 Transparency.TRANSLUCENT
,正如上文类描述中所指定的。该数据类型必须是 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
之一。BigInteger
对象指定了 cmap
数组中的有效/无效像素。如果设置了某个索引处的 BigInteger
值,则该像素是有效的;如果未设置该索引处的 BigInteger
位,则该像素是无效的。
bits
- 每个像素占用的位数size
- 颜色分量数组的大小cmap
- 颜色分量数组start
- 第一个颜色分量的起始偏移量transferType
- 指定的数据类型validBits
- 一个 BigInteger
对象。如果设置了 BigInteger 中的某个位,则该索引处的像素是有效的。如果未设置该位,则认为该索引处的像素无效。如果为 null,则所有像素都是有效的。只考虑从 0 到 colormap 大小的所有位。
IllegalArgumentException
- 如果 bits
小于 1 或大于 16
IllegalArgumentException
- 如果 size
小于 1
IllegalArgumentException
- 如果 transferType
不是 DataBuffer.TYPE_BYTE
或 DataBuffer.TYPE_USHORT
之一方法详细信息 |
---|
public int getTransparency()
Transparency
中的 getTransparency
ColorModel
中的 getTransparency
IndexColorModel
的透明度值Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
public int[] getComponentSize()
ColorModel
中的 getComponentSize
IndexColorModel
的各个颜色和 alpha 分量位数的数组public final int getMapSize()
IndexColorModel
中颜色/alpha 分量数组的大小。
public final int getTransparentPixel()
IndexColorModel
中透明像素的索引;如果没有 alpha 值为 0 的像素,则返回 -1。如果通过像素的索引在某个构造方法中显式地指定了透明像素,则优先返回该像素,否则可能返回任何正好是完全透明像素的索引。
IndexColorModel
对象中透明像素的索引;如果没有这样的像素,则为 -1public final void getReds(byte[] r)
getMapSize
指定的初始数组条目。
r
- 指定的数组,红色分量数组元素要复制到该数组中public final void getGreens(byte[] g)
getMapSize
指定的初始数组条目。
g
- 指定的数组,绿色分量数组元素要复制到该数组中public final void getBlues(byte[] b)
getMapSize
指定的初始数组条目。
b
- 指定的数组,蓝色分量数组元素要复制到该数组中public final void getAlphas(byte[] a)
getMapSize
指定的初始数组条目。
a
- 指定的数组,alpha 分量数组元素要复制到该数组中public final void getRGBs(int[] rgb)
getMapSize
指定的初始数组条目。
rgb
- 指定的数组,从颜色和 alpha 分量数组转换得到的 ARGB 值要复制到该数组中。public final int getRed(int pixel)
ColorModel
中的 getRed
pixel
- 指定的像素
public final int getGreen(int pixel)
ColorModel
中的 getGreen
pixel
- 指定的像素
public final int getBlue(int pixel)
ColorModel
中的 getBlue
pixel
- 指定的像素
public final int getAlpha(int pixel)
ColorModel
中的 getAlpha
pixel
- 指定的像素
public final int getRGB(int pixel)
ColorModel
中的 getRGB
pixel
- 指定的像素
ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
WritableRaster
对象的 setDataElements
方法。如果 pixel 变量为 null
,则分配一个新数组。如果 pixel
不为 null
,则它必须是一个 transferType
类型的基本数组;否则抛出 ClassCastException
。如果 pixel
不足以保存此 ColorModel
的一个像素值,则抛出 ArrayIndexOutOfBoundsException
。返回 pixel 数组。
因为可以子类化 IndexColorModel
,所以子类继承此方法的实现,如果不重写子类,则在使用不受支持的 transferType
时将抛出异常。
ColorModel
中的 getDataElements
rgb
- 默认 RGB 颜色模型中的整数像素表示形式pixel
- 指定的像素
IndexColorModel
中指定像素的数组。
ClassCastException
- 如果 pixel
不是 transferType
类型的基本数组
ArrayIndexOutOfBoundsException
- 如果 pixel
不足以保存此 ColorModel
中的一个像素值
UnsupportedOperationException
- 如果 transferType
无效WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel
中指定像素的非标准化颜色/alpha 分量数组。该像素值指定为 int 值。如果 components
数组为 null
,则分配一个包含 offset + getNumComponents()
个元素的新数组。返回 components
数组,仅在 hasAlpha
返回 true 时,该数组才包括 alpha 分量。即使从 offset
开始的 components
数组是由此方法所分配的,颜色/alpha 分量也将存储在该数组中。如果 components
数组不为 null
并且大小不足以保存从 offset
处开始的所有颜色和 alpha 分量,则抛出 ArrayIndexOutOfBoundsException
。
ColorModel
中的 getComponents
pixel
- 指定的像素components
- 接收指定像素的颜色和 alpha 分量的数组offset
- components
数组中的偏移量,从此处开始存储颜色和 alpha 分量
ColorModel.hasAlpha()
,
ColorModel.getNumComponents()
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
中指定像素的非标准化颜色/alpha 分量数组。像素值由作为对象引用传入的 transferType
类型的数据元素数组指定。如果 pixel
不是 transferType
类型的基本数组,则抛出 ClassCastException
。如果 pixel
大小不足以保存此 ColorModel
的一个像素值,则抛出 ArrayIndexOutOfBoundsException
。如果 components
数组为 null
,则分配一个包含 offset + getNumComponents()
个元素的新数组。返回 components
数组,仅在 hasAlpha
返回 true 时,该数组才包括 alpha 分量。即使从 offset
开始的 components
数组是由此方法所分配的,颜色/alpha 分量也将存储在该数组中。如果 components
数组不为 null
并且大小不足以保存从 offset
处开始的所有颜色和 alpha 分量,则抛出 ArrayIndexOutOfBoundsException
。
因为可以子类化 IndexColorModel
,所以子类继承此方法的实现,如果不重写子类,则在使用不受支持的 transferType
时将抛出异常。
ColorModel
中的 getComponents
pixel
- 指定的像素components
- 接收指定像素的颜色和 alpha 分量的数组offset
- components
数组中的索引,从此处开始存储指定像素的颜色和 alpha 分量
ArrayIndexOutOfBoundsException
- 如果 pixel
大小不足以保存此 ColorModel
的一个像素值,或者 components
数组不为 null
并且大小不足以保存从 offset
处开始的所有颜色和 alpha 分量
ClassCastException
- 如果 pixel
不是 transferType
类型的基本数组
UnsupportedOperationException
- 如果 transferType
不是受支持的传送类型之一ColorModel.hasAlpha()
,
ColorModel.getNumComponents()
public int getDataElement(int[] components, int offset)
ColorModel
中的像素值。如果 components
数组大小不足以保存从 offset
处开始的所有颜色和 alpha 分量,则抛出 ArrayIndexOutOfBoundsException
。因为可以子类化 ColorModel
,所以子类继承此方法的实现,如果不重写子类,则在使用不受支持的 transferType 时将抛出异常。
ColorModel
中的 getDataElement
components
- 非标准化颜色和 alpha 分量的数组offset
- components
数组中的索引,从此处开始检索颜色和 alpha 分量
ColorModel
中的 int
像素值。
ArrayIndexOutOfBoundsException
- 如果 components
数组大小不足以保存从 offset
处开始的所有颜色和 alpha 分量
UnsupportedOperationException
- 如果 transferType
无效public Object getDataElements(int[] components, int offset, Object pixel)
ColorModel
中像素的数据元素数组。然后可将此数组传递到 WritableRaster
对象的 setDataElements
方法。如果 components
数组大小不足以保存从 offset
处开始的所有颜色和 alpha 分量,则抛出 ArrayIndexOutOfBoundsException
。如果 pixel 变量为 null
,则分配一个新数组。如果 pixel
不为 null
,则它必须是一个 transferType
类型的基本数组;否则抛出 ClassCastException
。如果 pixel 大小不足以保存此 ColorModel
的一个像素值,则抛出 ArrayIndexOutOfBoundsException
。
因为可以子类化 IndexColorModel
,所以子类继承此方法的实现,如果不重写子类,则在使用不受支持的 transferType
时将抛出异常。
ColorModel
中的 getDataElements
components
- 非标准化颜色和 alpha 分量的数组offset
- components
中的索引,从此处开始检索颜色和 alpha 分量pixel
- 表示颜色和 alpha 分量数组的 Object
Object
。
ClassCastException
- 如果 pixel
不是 transferType
类型的基本数组
ArrayIndexOutOfBoundsException
- 如果 pixel
大小不足以保存此 ColorModel
的一个像素值,或者 components
大小不足以保存从 offset
处开始的所有颜色和 alpha 分量
UnsupportedOperationException
- 如果 transferType
不是受支持的传输类型之一WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public WritableRaster createCompatibleWritableRaster(int w, int h)
SampleModel
) 与此 ColorModel
兼容的 WritableRaster
。此方法只对每个像素使用 16 或更少位的颜色模型有效。
因为可以子类化 IndexColorModel
,所以任何支持每像素使用多于 16 位的子类必须重写此方法。
ColorModel
中的 createCompatibleWritableRaster
w
- 应用于新 WritableRaster
的宽度h
- 应用于新 WritableRaster
的高度
WritableRaster
对象。
UnsupportedOperationException
- 如果像素中的位数大于 16WritableRaster
,
SampleModel
public boolean isCompatibleRaster(Raster raster)
raster
与此 ColorModel
兼容,则返回 true
;如果不与此 ColorModel
兼容,则返回 false
。
ColorModel
中的 isCompatibleRaster
raster
- 要测试兼容性的 Raster
对象
raster
与此 ColorModel
兼容,则返回 true
;否则返回 false
。public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
兼容的 SampleModel
。
ColorModel
中的 createCompatibleSampleModel
w
- 应用于新 SampleModel
的宽度h
- 应用于新 SampleModel
的高度
SampleModel
对象。
IllegalArgumentException
- 如果 w
或 h
不大于 0SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
是否与此 ColorModel
兼容。如果 sm
为 null
,则此方法返回 false
。
ColorModel
中的 isCompatibleSampleModel
sm
- 指定的 SampleModel
,或者为 null
SampleModel
与此 ColorModel
兼容,则返回 true
;否则返回 false
。SampleModel
public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
BufferedImage
,其 Raster
的像素数据是通过使用此 ColorModel
的颜色/alpha 分量数组扩展源 Raster
中的各索引来计算的。只有源 Raster
中每个像素值的较低 n 位用于计算返回图像中的 color/alpha 值,正如上文类描述中所指定的。如果 forceARGB
为 true
,则无论此 ColorModel
是否有 alpha 分量数组或透明像素,都返回一幅 TYPE_INT_ARGB 图像。
raster
- 指定的 Raster
forceARGB
- 如果为 true
,则返回的 BufferedImage
是 TYPE_INT_ARGB;否则是 TYPE_INT_RGB
Raster
创建的 BufferedImage
IllegalArgumentException
- 如果 raster 参数与此 IndexColorModel 不兼容public boolean isValid(int pixel)
pixel
- 指定的像素值
pixel
有效,则返回 true
;否则返回 false
。public boolean isValid()
true
;否则返回 false
。public BigInteger getValidPixels()
BigInteger
。如果设置了某个位索引处的 BigInteger
值,则该位是有效的;如果未设置该索引处的 BigInteger
值,则该位是无效的。BigInteger
中惟一有效的查询范围是 0 到 colormap 的大小。
BigInteger
。public void finalize()
ColorModel
后,释放与此 ColorModel
关联的系统资源。
ColorModel
中的 finalize
public String toString()
ColorModel
对象内容的 String
表示形式。
ColorModel
中的 toString
ColorModel
对象内容的 String
。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。