|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.image.ColorModel java.awt.image.PackedColorModel java.awt.image.DirectColorModel
public class DirectColorModel
DirectColorModel
類別是使用像素值的 ColorModel
類別,像素值以單獨樣本的形式表示 RGB 顏色和 alpha 資訊,並將單個像素的所有樣本打包成單個 int、short 或 byte 量。此類別只能與型別 ColorSpace.TYPE_RGB 的 ColorSpaces 一起使用。此外,對於 ColorSpace 的每個份量,通過 ColorSpace 的 getMinValue()
方法得到的最小標準化份量值必須是 0.0,通過 getMaxValue()
方法得到的最大值必須是 1.0(這些最小/最大值是 RGB 空間的常見值)。像素值中必須有三個顏色樣本,且可以有一個 alpha 樣本。對於那些使用型別 transferType
的基本陣列像素表示形式的方法,陣列長度總是 1。受支持的轉換型別是 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT 和 DataBuffer.TYPE_INT。顏色和 alpha 樣本以位為單位存儲在位遮罩碼指示的陣列的單個元素中。每個位遮罩碼必須是連續的,並且遮罩碼一定不能重疊。相同的遮罩碼可以應用於由其他方法使用的單個 int 像素表示形式。遮罩碼和顏色/alpha 樣本間的對應關係如下:
出於顯示或處理的目的,像素值到顏色/alpha 份量的轉換是從樣本到份量一一對應的。DirectColorModel
通常與使用遮罩碼定義打包樣本的圖像資料一起使用。例如,DirectColorModel
可以與 SinglePixelPackedSampleModel
一起使用來建構 BufferedImage
。通常,SampleModel
和 ColorModel
使用的遮罩碼是相同的。但是,如果遮罩碼不相同,像素資料的顏色解釋將根據 ColorModel
的遮罩碼進行。
單個 int 像素表示形式對此類別的所有物件都有效,因為它總是能夠表示在單個 int 中與此類別一起使用的像素值。因此,使用此表示形式的方法將不會因無效的像素值而拋出 IllegalArgumentException
。
此顏色模型類似於 X11 TrueColor 可視份量。由 getRGBdefault
方法指定的預設 RGB ColorModel 是一個具有以下參數的 DirectColorModel
:
位數: 32 紅色遮罩碼:0x00ff0000 綠色遮罩碼:0x0000ff00 藍色遮罩碼:0x000000ff Alpha 遮罩碼:0xff000000 顏色空間:sRGB isAlphaPremultiplied:False 透明度:Transparency.TRANSLUCENT transferType:DataBuffer.TYPE_INT
此類別中的許多方法都是 final。這是因為基礎本機圖形程式碼假定此類別的佈局和操作,並在此處標記 final 的方法實作中反映了這些假定。您可以出於其他原因將此類別子類別化,但不能覆寫或修改那些方法的行為。
ColorModel
,
ColorSpace
,
SinglePixelPackedSampleModel
,
BufferedImage
,
ColorModel.getRGBdefault()
欄位摘要 |
---|
從類別 java.awt.image.ColorModel 繼承的欄位 |
---|
pixel_bits, transferType |
從介面 java.awt.Transparency 繼承的欄位 |
---|
BITMASK, OPAQUE, TRANSLUCENT |
建構子摘要 | |
---|---|
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 像素表示形式中哪些位包含紅色、綠色和藍色顏色樣本與 alpha 樣本(如果存在)的遮罩碼建構 DirectColorModel 。 |
方法摘要 | |
---|---|
ColorModel |
coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
強制光柵資料與在 isAlphaPremultiplied 變數中指定的狀態比對,假定此 ColorModel 現在已對該資料進行正確描述。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
創建具有指定寬度和高度、擁有與此 ColorModel 相容的資料佈局 (SampleModel ) 的 WritableRaster 。 |
int |
getAlpha(int pixel)
返回指定像素(縮放範圍從 0 到 255)的 alpha 份量。 |
int |
getAlpha(Object inData)
返回指定像素(在 0 到 255 之間縮放)的 alpha 份量。 |
int |
getAlphaMask()
返回指示 int 像素表示形式中哪些位包含 alpha 份量的遮罩碼。 |
int |
getBlue(int pixel)
返回指定像素的藍色顏色份量,指定像素在預設的 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getBlue(Object inData)
返回指定像素的藍顏色份量,指定像素在預設的 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getBlueMask()
返回指示 int 像素表示形式中哪些位包含藍色顏色份量的遮罩碼。 |
int[] |
getComponents(int pixel,
int[] components,
int offset)
返回在 ColorModel 中已給定像素的未標準化顏色/alpha 份量。 |
int[] |
getComponents(Object pixel,
int[] components,
int offset)
返回在 ColorModel 中已給定像素的未標準化顏色/alpha 份量。 |
int |
getDataElement(int[] components,
int offset)
在給定未標準化顏色/alpha 份量的陣列的情況下,返回以 int 型別表示在此 ColorModel 中的像素值。 |
Object |
getDataElements(int[] components,
int offset,
Object obj)
在給定未標準化的顏色/alpha 份量的陣列的情況下,返回此 ColorModel 中的像素的資料元素陣列表示形式。 |
Object |
getDataElements(int rgb,
Object pixel)
在預設 RGB 顏色模型中給定整數像素的表示形式的情況下,返回此 ColorModel 中像素的資料元素陣列的表示形式。 |
int |
getGreen(int pixel)
返回指定像素的綠色顏色份量,指定像素在預設 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getGreen(Object inData)
返回指定像素的綠色顏色份量,指定像素在預設的 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getGreenMask()
返回指示 int 像素表示形式中哪些位包含綠色顏色份量的遮罩碼。 |
int |
getRed(int pixel)
返回指定像素的紅色顏色份量,指定像素在預設的 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getRed(Object inData)
返回指定像素的紅色顏色份量,指定像素在預設的 RGB ColorSpace (即 sRGB)中縮放範圍是 0 到 255。 |
int |
getRedMask()
返回指定 int 像素表示形式中哪些位包含紅色份量的遮罩碼。 |
int |
getRGB(int pixel)
返回預設的 RGB 顏色模型格式中的像素的顏色/alpha 份量。 |
int |
getRGB(Object inData)
返回預設的 RGB 顏色模型格式中的像素的顏色/alpha 份量。 |
boolean |
isCompatibleRaster(Raster raster)
如果 raster 與此 ColorModel 相容,則返回 true ,如果不相容,則返回 false 。 |
String |
toString()
返回表示此 DirectColorModel 的 String 。 |
從類別 java.awt.image.PackedColorModel 繼承的方法 |
---|
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, isCompatibleSampleModel |
從類別 java.lang.Object 繼承的方法 |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public DirectColorModel(int bits, int rmask, int gmask, int bmask)
int
像素表示形式中哪些位包含紅色、綠色和藍色顏色樣本的遮罩碼建構 DirectColorModel
。因為像素值不包含 alpha 資訊,所以所有像素都可視為不透明的,這意味著 alpha = 1.0。每個遮罩碼中的所有位必須是連續的,並且符合 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
像素表示形式中哪些位包含紅色、綠色和藍色顏色樣本與 alpha 樣本(如果存在)的遮罩碼建構 DirectColorModel
。如果 amask
為 0,則像素值不包含 alpha 資訊,且所有像素都可視為不透明的,這意味著 alpha = 1.0。每個遮罩碼中的所有位必須是連續的,並且符合 int
像素表示形式的最低有效位的指定數量。Alpha(如果存在)不是預先乘得的值。ColorSpace
是預設的 sRGB 空間。如果 alpha 不存在,則透明度值是 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.0 的最小標準化份量值和都是 1.0 的最大值。遮罩碼指定在 int
像素表示形式中哪些位包含紅色、綠色和藍色顏色樣本與 alpha 樣本(如果存在)。如果 amask
為 0,則像素值不包含 alpha 資訊,且所有像素都可視為不透明的,這意味著 alpha = 1.0。每個遮罩碼中的所有位必須是連續的,並且符合 int
像素表示形式的最低有效位的指定數量。如果 alpha 存在,則 boolean
isAlphaPremultiplied
指定如何解釋像素值中的顏色和 alpha 樣本。如果 boolean
為 true
,則假定顏色樣本已經乘以 alpha 樣本。如果 alpha 不存在,則透明度值為 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.0/1.0。方法詳細資訊 |
---|
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
像素表示形式的哪些位包含 alpha 樣本的遮罩碼。public final int getRed(int pixel)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。將像素值指定為 int
。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則紅色值為 0。
ColorModel
中的 getRed
pixel
- 指定的像素
ColorSpace
中縮放範圍從 0 到 255)的紅色顏色份量。public final int getGreen(int pixel)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。將像素值指定為 int
。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則綠色值為 0。
ColorModel
中的 getGreen
pixel
- 指定像素
ColorSpace
中縮放範圍從 0 到 255)的綠色顏色份量。public final int getBlue(int pixel)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。將像素值指定為 int
。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則藍色值為 0。
ColorModel
中的 getBlue
pixel
- 指定的像素
ColorSpace
中縮放範圍從 0 到 255)的藍色顏色份量。public final int getAlpha(int pixel)
int
。
ColorModel
中的 getAlpha
pixel
- 指定像素
pixel
(0 到 255)的 alpha 份量的值。public final int getRGB(int pixel)
int
。返回的值是非預乘格式。因此,如果預乘 alpha,則此方法會將它從顏色份量中分離出來。例如,如果 alpha 值為 0,則顏色值每個份量都是 0。
ColorModel
中的 getRGB
pixel
- 指定的像素
ColorModel.getRGBdefault()
public int getRed(Object inData)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。像素值由作為物件參考傳入的型別 transferType
的資料元素的陣列指定。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則紅色值為 0。如果 inData
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 inData
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。如果此 transferType
不受該 ColorModel
支持,則拋出 UnsupportedOperationException
。
ColorModel
中的 getRed
inData
- 套件含該像素值的陣列
ArrayIndexOutOfBoundsException
- 如果 inData
不是特別大,不能存儲此顏色模型的像素值
ClassCastException
- 如果 inData
不是型別 transferType
的基本陣列
UnsupportedOperationException
- 如果此顏色模型不支持 transferType
public int getGreen(Object inData)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。像素值由作為物件參考傳入的型別 transferType
的資料元素的陣列指定。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則綠色值為 0。如果 inData
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 inData
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。如果此 transferType
不受該 ColorModel
支持,則拋出 UnsupportedOperationException
。
ColorModel
中的 getGreen
inData
- 套件含該像素值的陣列
ArrayIndexOutOfBoundsException
- 如果 inData
不是特別大,不能存儲此顏色模型的像素值
ClassCastException
- 如果 inData
不是型別 transferType
的基本陣列
UnsupportedOperationException
- 如果此顏色模型不支持 transferType
public int getBlue(Object inData)
ColorSpace
(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。像素值由作為物件參考傳入的型別 transferType
的資料元素的陣列指定。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則藍色值為 0。如果 inData
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 inData
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。如果此 transferType
不受該 ColorModel
支持,則拋出 UnsupportedOperationException
。
ColorModel
中的 getBlue
inData
- 套件含像素值的陣列
ArrayIndexOutOfBoundsException
- 如果 inData
不是特別大,不能存儲此顏色模型的像素值
ClassCastException
- 如果 inData
不是型別 transferType
的基本陣列
UnsupportedOperationException
- 如果此顏色模型不支持 transferType
public int getAlpha(Object inData)
transferType
的資料元素的陣列指定。如果 inData
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 inData
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。如果此 transferType
不受支持,則拋出 UnsupportedOperationException
。
ColorModel
中的 getAlpha
inData
- 指定的像素
ClassCastException
- 如果 inData
不是型別 transferType
的基本陣列
ArrayIndexOutOfBoundsException
- 如果 inData
不是特別大,不能存儲此 ColorModel
的像素
UnsupportedOperationException
- 如果此 tranferType
不受此 ColorModel
支持public int getRGB(Object inData)
transferType
的資料元素的陣列指定。如果 inData
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 inData
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。返回的值是非預乘格式。因此,如果預乘 alpha,則此方法會將它從顏色份量中分離出來。例如,如果 alpha 值為 0,則顏色值為 0。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。
ColorModel
中的 getRGB
inData
- 指定的像素
UnsupportedOperationException
- 如果該 transferType
不受此 ColorModel
支持ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel
中像素的資料元素陣列的表示形式。然後可以將此陣列傳遞給 WritableRaster
物件的 setDataElements
方法。如果像素變數為 null
,則分派一個新陣列。如果 pixel
不為 null
,則它必須是型別 transferType
的基本陣列;否則,拋出 ClassCastException
。如果 pixel
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。此像素陣列被返回。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。
ColorModel
中的 getDataElements
rgb
- 預設的 RGB 顏色模型中的整數像素表示形式pixel
- 指定像素
ColorModel
中指定像素的陣列表示形式
ClassCastException
- 如果 pixel
不是型別 transferType
的基本陣列
ArrayIndexOutOfBoundsException
- 如果 pixel
不是特別大,不能存儲此 ColorModel
的像素值
UnsupportedOperationException
- 如果此 transferType
不受此 ColorModel
支持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
中已給定像素的未標準化顏色/alpha 份量。將像素值指定為 int
。如果該 components
陣列為 null
,則分派一個新陣列。該 components
陣列被返回。將顏色/alpha 份量存儲在以 offset
開頭的 components
陣列中,即便此方法已分派了陣列也如此。如果 components
陣列不為 null
且不是特別大,不能以 offset
開頭存儲所有顏色和 alpha 份量,則拋出 ArrayIndexOutOfBoundsException
。
ColorModel
中的 getComponents
pixel
- 指定的像素components
- 接收指定像素的顏色和 alpha 份量的陣列offset
- 開始存儲顏色和 alpha 份量時的 components
陣列的偏移量
public final int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
中已給定像素的未標準化顏色/alpha 份量。像素值由作為物件參考傳入的型別 transferType
的資料元素的陣列指定。如果 pixel
不是型別 transferType
的基本陣列,則拋出 ClassCastException
。如果 pixel
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。如果該 components
陣列為 null
,則分派一個新陣列。該 components
陣列被返回。將顏色/alpha 份量存儲在以 offset
開頭的 components
陣列中,即便此方法已分派了陣列也如此。如果 components
陣列不為 null
且不是特別大,不能以 offset
開頭存儲所有顏色和 alpha 份量,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。
ColorModel
中的 getComponents
pixel
- 指定的像素components
- 接收指定像素的顏色和 alpha 份量的陣列offset
- 開始存儲顏色和 alpha 份量時的 components
陣列的偏移量
ClassCastException
- 如果 pixel
不是型別 transferType
的基本陣列
ArrayIndexOutOfBoundsException
- 如果 pixel
不是特別大,不能存儲此 ColorModel
的像素值,或如果 components
不為 null
且不是特別大,不能以 offset
開頭保存所有顏色和 alpha 份量
UnsupportedOperationException
- 如果此 transferType
不受此顏色模型支持public final WritableRaster createCompatibleWritableRaster(int w, int h)
ColorModel
相容的資料佈局 (SampleModel
) 的 WritableRaster
。
ColorModel
中的 createCompatibleWritableRaster
w
- 應用到新 WritableRaster
的寬度h
- 應用到新 WritableRaster
的高度
WritableRaster
物件。
IllegalArgumentException
- 如果 w
或 h
小於或等於 0WritableRaster
,
SampleModel
public int getDataElement(int[] components, int offset)
int
型別表示在此 ColorModel
中的像素值。如果 components
陣列不是特別大,不能以 offset
開頭存儲所有顏色和 alpha 份量,則拋出 ArrayIndexOutOfBoundsException
。
ColorModel
中的 getDataElement
components
- 未標準化的顏色和 alpha 份量的陣列offset
- 開始檢索顏色和 alpha 份量處的 components
的索引
ColorModel
中與指定份量相對應的 int
像素值。
ArrayIndexOutOfBoundsException
- 如果 components
陣列不是特別大,不能存儲所有以 offset
開頭的顏色和 alpha 份量public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
中的像素的資料元素陣列表示形式。然後可以將此陣列傳遞給 WritableRaster
物件的 setDataElements
方法。如果 components
陣列不是特別大,不能存儲所有以偏移量開頭的顏色和 alpha 份量,則拋出 ArrayIndexOutOfBoundsException
。如果 obj
變數為 null
,則分派一個新陣列。如果 obj
不為 null
,則它必須是型別 transferType
的基本陣列;否則,拋出 ClassCastException
。如果 obj
不是特別大,不能存儲此 ColorModel
的像素值,則拋出 ArrayIndexOutOfBoundsException
。因為 DirectColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType
時,將拋出異常。
ColorModel
中的 getDataElements
components
- 未標準化的顏色和 alpha 份量的陣列offset
- 開始檢索顏色和 alpha 份量處的 components
的索引obj
- 表示顏色和 alpha 份量的陣列的 Object
Object
。
ClassCastException
- 如果 obj
不是型別 transferType
的基本陣列
ArrayIndexOutOfBoundsException
- 如果 obj
不是特別大,不能存儲此 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 final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
變數中指定的狀態比對,假定此 ColorModel
現在已對該資料進行正確描述。可以將顏色光柵資料乘以或除以 alpha,如果該資料處於正確狀態,則不執行任何操作。如果需要對該資料強制比對,則此方法還將相應地返回一個帶有 isAlphaPremultiplied
標誌集的 ColorModel
實例。如果此 transferType 不受此 ColorModel
支持,則此方法將拋出 UnsupportedOperationException
。因為 ColorModel
可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType 時,將拋出異常。
ColorModel
中的 coerceData
raster
- WritableRaster
資料isAlphaPremultiplied
- 如果 alpha 是預先乘得的,則為 true
;否則為 false
ColorModel
物件。
UnsupportedOperationException
- 如果此 transferType
不受此顏色模型支持public boolean isCompatibleRaster(Raster raster)
raster
與此 ColorModel
相容,則返回 true
,如果不相容,則返回 false
。
ColorModel
中的 isCompatibleRaster
raster
- 測試相容性的 Raster
物件
true
如果 raster
與此 ColorModel
相容;否則 false
。public String toString()
DirectColorModel
的 String
。
ColorModel
中的 toString
DirectColorModel
的 String
。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。