public class DirectColorModel extends PackedColorModel
DirectColorModel
类是一个
ColorModel
类作品代表RGB颜色和alpha信息作为单独的样品,包所有样品的单像素成一个int,短的像素值,或字节数量。这个类可以使用的类型colorspace.type_rgb颜色。此外,对颜色空间的每个组件的最小归一化元件值通过色彩的
getMinValue()
方法得到的必须是0,并通过
getMaxValue()
方法得到的最大值必须是1(这些最小/最大值是RGB空间的典型)。必须有三个颜色样本的像素值,并可以有一个单一的α样品。这些方法的使用原始阵列像素表示的类型
transferType
,数组的长度是。传输类型支持databuffer.type_byte,databuffer.type_ushort,和databuffer.type_int。颜色和alpha样本存储在比特数组的单个元素的位掩码表示。每一个位掩码必须是连续的,而掩码必须不重叠。同样的面具,适用于单像素表示通过其他方法使用int。面具和颜色/α样品对应如下:
从像素值到颜色/α分量的显示或处理目的的翻译是一对一的样品的一对一的对应关系。一个DirectColorModel
通常是用于图像数据采用口罩定义包装的样品。例如,一个DirectColorModel
可以与SinglePixelPackedSampleModel
构建BufferedImage
连词。通常由SampleModel
和ColorModel
用口罩将是相同的。然而,如果他们是不同的,像素数据的颜色解释将根据该ColorModel
面具了。
一个整数像素表示的是有效的这个类的所有对象,因为它总是能代表一个int,因此这类使用的像素值,方法是使用这种表示不会把因无效像素值的IllegalArgumentException
。
这种颜色模型类似于一个X11真彩视觉。由getRGBdefault
指定默认的RGB色彩模型的方法是使用下面的参数DirectColorModel
:
位数:32红面具:0x00ff0000绿色面膜:0x0000ff00蓝面具:0x000000ffAlpha遮罩:0xff000000色彩空间:sRGBisalphapremultiplied:假透明度:transparency.translucenttransfertype:databuffer.type_int
这个类中的许多方法都是最终的。这是因为底层的原生图形代码对这个类的布局和操作作出假设,这些假设反映在标记为最终的方法的实现中。您可以子类的子类为其他原因,但不能重写或修改这些方法的行为。
pixel_bits, transferType
BITMASK, OPAQUE, TRANSLUCENT
Constructor and Description |
---|
DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
构建了从指定的参数
DirectColorModel 。
|
DirectColorModel(int bits, int rmask, int gmask, int bmask)
构建了从指定的面具,表明这位在
int 像素表示的一
DirectColorModel 包含红色,绿色和蓝色的颜色样本。
|
DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
构建了从指定的面具,表明这位在
int 像素表示的一
DirectColorModel 包含红色,绿色和蓝色的颜色样品和α样品,如果存在。
|
Modifier and Type | Method and Description |
---|---|
ColorModel |
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
军队的栅格数据匹配在
isAlphaPremultiplied 变量所指定的状态,假设数据是目前的
ColorModel 正确描述。
|
WritableRaster |
createCompatibleWritableRaster(int w, int h)
创建一个具有指定宽度和高度,具有数据布局
WritableRaster (
SampleModel )这
ColorModel 兼容。
|
int |
getAlpha(int pixel)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
int |
getAlpha(Object inData)
返回指定像素的阿尔法组件,缩放比例从0到255。
|
int |
getAlphaMask()
返回掩码位在
int 像素表示包含alpha分量。
|
int |
getBlue(int pixel)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
int |
getBlue(Object inData)
返回为指定像素的蓝色成分,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
int |
getBlueMask()
返回掩码位在
int 像素表示含有蓝色的成分。
|
int[] |
getComponents(int pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel 像素元件。
|
int[] |
getComponents(Object pixel, int[] components, int offset)
返回一个数组的非标准化的颜色/α在这
ColorModel 像素元件。
|
int |
getDataElement(int[] components, int offset)
返回一个表示在这一
int
ColorModel 像素值,给定一个数组的非标准化的颜色和alpha分量。
|
Object |
getDataElements(int[] components, int offset, Object obj)
返回一个在这
ColorModel 像素数据元素的数组表示,鉴于一系列化的颜色和alpha分量。
|
Object |
getDataElements(int rgb, Object pixel)
返回一个在这
ColorModel 像素数据元素的数组表示,鉴于在默认的RGB颜色模型的整数像素表示。
|
int |
getGreen(int pixel)
返回指定像素的绿色成分,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
int |
getGreen(Object inData)
返回指定像素的绿色成分,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
int |
getGreenMask()
返回掩码位在
int 像素表示含有绿色成分。
|
int |
getRed(int pixel)
返回为指定像素的红色分量,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
int |
getRed(Object inData)
返回为指定像素的红色分量,比例从0到255在默认的RGB
ColorSpace ,sRGB。
|
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 。
|
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, isCompatibleSampleModel
finalize, getColorSpace, getComponentSize, getComponentSize, getDataElement, getDataElements, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied
public DirectColorModel(int bits, int rmask, int gmask, int bmask)
int
像素表示的一
DirectColorModel
包含红色,绿色和蓝色的颜色样本。像素值不包含alpha信息,所有的像素都被视为不透明的,这意味着 α= 1。所有在每个面具位必须是连续的,适合在指定数量的
int
像素表示的最低有效位。的
ColorSpace
是默认的sRGB空间。透明度值transparency.opaque。转移型是最小的databuffer.type_byte,databuffer.type_ushort,或databuffer.type_int可以容纳一个像素。
bits
在像素值的比特数;例如,在口罩的比特数的总和。
rmask
-指定掩码位整数像素含有红色成分
gmask
-指定掩码位整数像素含有绿色成分
bmask
-指定掩码位整数像素含有蓝色的成分
public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
int
像素表示的一
DirectColorModel
包含红色,绿色和蓝色的颜色样品和α样品,如果存在。如果
amask
0,像素值不包含alpha信息和所有的像素被视为不透明的,这意味着 α= 1。所有在每个面具位必须是连续的,适合在指定数量的
int
像素表示的最低有效位。α,如果存在,不进行。的
ColorSpace
是默认的sRGB空间。透明度值transparency.opaque如果没有α的存在,或transparency.translucent否则。转移型是最小的databuffer.type_byte,databuffer.type_ushort,或databuffer.type_int可以容纳一个像素。
bits
在像素值的比特数;例如,在口罩的比特数的总和。
rmask
-指定掩码位整数像素含有红色成分
gmask
-指定掩码位整数像素含有绿色成分
bmask
-指定掩码位整数像素含有蓝色的成分
amask
-指定掩码位整数像素包含alpha分量
public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
DirectColorModel
。颜色分量是在指定的
ColorSpace
,必须colorspace.type_rgb型及最小归一化元件值都是0,最大值为1。面具指定的位在
int
像素表示包含红色、绿色和蓝色的颜色样品和α样品,如果存在。如果
amask
0,像素值不包含alpha信息和所有的像素被视为不透明的,这意味着 α= 1。所有在每个面具位必须是连续的,适合在指定数量的
int
像素表示的最低有效位。如果有α的
boolean
isAlphaPremultiplied
指定如何解释颜色和像素值α样品。如果
boolean
是
true
,色样的假设已乘以α样品。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 / 1。
public final int getRedMask()
int
像素表示含有红色成分。
int
像素表示包含红颜色样本。
public final int getGreenMask()
int
像素表示含有绿色成分。
int
像素表示包含绿色样本。
public final int getBlueMask()
int
像素表示含有蓝色的成分。
int
像素表示含有蓝色的样品。
public final int getAlphaMask()
int
像素表示包含alpha分量。
int
像素表示包含α样品。
public final int getRed(int pixel)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值指定为
int
。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,则红色值为0。
getRed
方法重写,继承类
ColorModel
pixel
-指定像素
ColorSpace
。
public final int getGreen(int pixel)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值指定为
int
。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,则绿色值为0。
getGreen
方法重写,继承类
ColorModel
pixel
-指定像素
ColorSpace
。
public final int getBlue(int pixel)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值指定为
int
。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,蓝色值为0。
getBlue
方法重写,继承类
ColorModel
pixel
-指定像素
ColorSpace
。
public final int getAlpha(int pixel)
int
。
getAlpha
方法重写,继承类
ColorModel
pixel
-指定像素
pixel
alpha分量值。
public final int getRGB(int pixel)
int
。返回的值是在一个非预乘以格式。因此,如果α进行,这种方法分出来的颜色分量。如果α值为0,则颜色值为每0。
getRGB
方法重写,继承类
ColorModel
pixel
-指定像素
ColorModel.getRGBdefault()
public int getRed(Object inData)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值是由
transferType
型通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,则红色值为0。如果
inData
不是原始的数组类型
transferType
,一
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
inData
不足以容纳这
ColorModel
像素值扔。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。如果这是一个
UnsupportedOperationException
transferType
不支持这
ColorModel
扔。
getRed
方法重写,继承类
ColorModel
inData
包含像素值的数组
inData
ArrayIndexOutOfBoundsException
不足以容纳这种颜色模型的像素值
ClassCastException
-如果
inData
不是原始的数组类型
transferType
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
public int getGreen(Object inData)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值是由
transferType
型通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,则绿色值为0。如果
inData
不是原始的数组类型
transferType
,一
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
inData
不足以容纳这
ColorModel
像素值抛出。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。如果这是一个
UnsupportedOperationException
transferType
不支持这
ColorModel
扔。
getGreen
方法重写,继承类
ColorModel
inData
包含像素值的数组
inData
ArrayIndexOutOfBoundsException
不足以容纳这种颜色模型的像素值
ClassCastException
-如果
inData
不是原始的数组类型
transferType
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
public int getBlue(Object inData)
ColorSpace
,sRGB。如果必要的话,做一个颜色转换。像素值是由
transferType
型通过为一个对象引用的数据元素的数组指定。返回的值是一个非预乘的值。因此,如果α进行,该方法将在返回值。例如,如果α值为0,蓝色值为0。如果
inData
不是原始的数组类型
transferType
,一
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
inData
不足以容纳这
ColorModel
像素值扔。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。如果这是一个
UnsupportedOperationException
transferType
不支持这
ColorModel
扔。
getBlue
方法重写,继承类
ColorModel
inData
包含像素值的数组
inData
ArrayIndexOutOfBoundsException
不足以容纳这种颜色模型的像素值
ClassCastException
-如果
inData
不是原始的数组类型
transferType
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
public int getAlpha(Object inData)
transferType
型通过为一个对象引用的数据元素的数组指定。如果
inData
不是原始的数组类型
transferType
,一
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
inData
不足以容纳这
ColorModel
像素值扔。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。如果这
transferType
是不支持的,一个
UnsupportedOperationException
抛出。
getAlpha
方法重写,继承类
ColorModel
inData
-指定像素
ClassCastException
-如果
inData
不是原始的数组类型
transferType
inData
ArrayIndexOutOfBoundsException
不足以容纳这
ColorModel
像素值
UnsupportedOperationException
-如果这是不被支持的
ColorModel
tranferType
public int getRGB(Object inData)
transferType
型通过为一个对象引用的数据元素的数组指定。如果
inData
不是原始的数组类型
transferType
,一
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
inData
不足以容纳这
ColorModel
像素值抛出。返回的值是一个非预乘的格式。因此,如果α进行,这种方法分出来的颜色分量。例如,如果α值为0,则颜色值为0。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。
getRGB
方法重写,继承类
ColorModel
inData
-指定像素
UnsupportedOperationException
-如果这是不被支持的
ColorModel
transferType
ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel
像素数据元素的数组表示,鉴于在默认的RGB颜色模型的整数像素表示。那么这个阵列可以通过一个
WritableRaster
对象的
setDataElements
方法。如果像素变为
null
,创建一个新数组。如果
pixel
不
null
,它必须是一个原始的数组类型
transferType
;否则,一个
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
pixel
不足以容纳这
ColorModel
像素值扔。返回像素数组。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。
getDataElements
方法重写,继承类
ColorModel
rgb
-在默认的RGB颜色模型的整数像素表示
pixel
-指定像素
ColorModel
指定像素数组表示
ClassCastException
-如果
pixel
不是原始的数组类型
transferType
pixel
ArrayIndexOutOfBoundsException
不足以容纳这
ColorModel
像素值
UnsupportedOperationException
-如果这是不被支持的
ColorModel
transferType
WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public final int[] getComponents(int pixel, int[] components, int offset)
ColorModel
像素元件。像素值指定为
int
。如果
components
阵列
null
,创建一个新数组。返回的
components
阵列。颜色/ alpha分量存储在
components
阵列从
offset
,即使阵列通过这种方法分配。如果一个
ArrayIndexOutOfBoundsException
components
数组不
null
不足以容纳所有的颜色和alpha组件抛出,开始在
offset
。
getComponents
方法重写,继承类
ColorModel
pixel
-指定像素
components
-阵列接收的颜色和指定像素的alpha分量
offset
的偏移,
components
阵列开始存储颜色和alpha分量
public final int[] getComponents(Object pixel, int[] components, int offset)
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分量
ClassCastException
-如果
pixel
不是原始的数组类型
transferType
pixel
ArrayIndexOutOfBoundsException
不足以容纳这
ColorModel
像素值,或者如果
components
不
null
不足以容纳所有的颜色和alpha分量,从
offset
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
public final WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster
(
SampleModel
)这
ColorModel
兼容。
createCompatibleWritableRaster
方法重写,继承类
ColorModel
w
-宽度适用于新的
WritableRaster
h
的高度适用于新
WritableRaster
WritableRaster
对象。
IllegalArgumentException
-如果
w
或
h
小于或等于零
WritableRaster
,
SampleModel
public int getDataElement(int[] components, int offset)
int
ColorModel
像素值,给定一个数组的非标准化的颜色和alpha分量。如果一个
ArrayIndexOutOfBoundsException
components
阵列不足以容纳所有的颜色和alpha组件抛出,开始在
offset
。
getDataElement
方法重写,继承类
ColorModel
components
-一系列化的颜色和alpha分量
offset
-指数为
components
,开始检索颜色和alpha分量
ColorModel
对应于指定组件的
int
像素值。
ArrayIndexOutOfBoundsException
-如果
components
阵列不足以容纳所有的颜色和alpha组件开始
offset
public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
像素数据元素的数组表示,鉴于一系列化的颜色和alpha分量。那么这个阵列可以通过一个
WritableRaster
对象的
setDataElements
方法。如果一个
ArrayIndexOutOfBoundsException
components
阵列不足以容纳所有的颜色和alpha组件抛出,开始偏移。如果
obj
变量
null
,创建一个新数组。如果
obj
不
null
,它必须是一个原始的数组类型
transferType
;否则,一个
ClassCastException
抛出。如果一个
ArrayIndexOutOfBoundsException
obj
不足以容纳这
ColorModel
像素值扔。因为
DirectColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的
transferType
。
getDataElements
方法重写,继承类
ColorModel
components
-一系列化的颜色和alpha分量
offset
-指数为
components
,开始检索颜色和alpha分量
obj
-
Object
数组表示的颜色和alpha分量
Object
数组表示的颜色和alpha分量。
ClassCastException
-如果
obj
不是原始的数组类型
transferType
obj
ArrayIndexOutOfBoundsException
不足以容纳这
ColorModel
或
components
阵列的像素值不足以容纳所有的颜色和alpha组件开始
offset
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
变量所指定的状态,假设数据是目前的
ColorModel
正确描述。它可以乘或除以彩色栅格数据的阿尔法,或什么都不做,如果数据是在正确的状态。如果数据需要被强制的,这种方法也会返回一个实例,这
ColorModel
与
isAlphaPremultiplied
标志设置适当。该方法将如果这transfertype不支持这
ColorModel
扔
UnsupportedOperationException
。自
ColorModel
可以子类,子类继承这个方法的实现,如果不推翻它,然后抛出一个异常,如果他们使用的是不支持的transfertype。
coerceData
方法重写,继承类
ColorModel
raster
-
WritableRaster
数据
isAlphaPremultiplied
-
true
如果α进行
false
否则;
ColorModel
表示强制数据。
UnsupportedOperationException
-如果这
transferType
不是这种颜色模型的支持
public boolean isCompatibleRaster(Raster raster)
true
如果不是
raster
与
ColorModel
和
false
兼容。
isCompatibleRaster
方法重写,继承类
ColorModel
raster
-兼容性测试的
Raster
对象
true
如果
raster
与
ColorModel
兼容;
false
否则。
public String toString()
String
表示此
DirectColorModel
。
toString
方法重写,继承类
ColorModel
String
代表这个
DirectColorModel
。
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.