|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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 - 指定的 ColorSpacebits - 像素值中位的數量;例如,遮罩碼中位的數量和。rmask - 指定指示整數像素中哪些位包含紅色份量的遮罩碼gmask - 指定指示整數像素中哪些位包含綠色份量的遮罩碼bmask - 指定指示整數像素中哪些位包含藍色份量的遮罩碼amask - 指定指示整數像素中哪些位包含 alpha 份量的遮罩碼isAlphaPremultiplied - true 如果將顏色樣本預先乘以 alpha 樣本;否則 falsetransferType - 用來表示像素值的陣列的型別
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 中的 getRedpixel - 指定的像素
ColorSpace 中縮放範圍從 0 到 255)的紅色顏色份量。public final int getGreen(int pixel)
ColorSpace(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。將像素值指定為 int。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則綠色值為 0。
ColorModel 中的 getGreenpixel - 指定像素
ColorSpace 中縮放範圍從 0 到 255)的綠色顏色份量。public final int getBlue(int pixel)
ColorSpace(即 sRGB)中縮放範圍是 0 到 255。如有必要,可進行顏色轉換。將像素值指定為 int。返回的值是一個非預先乘得的值。因此,如果預乘 alpha,則此方法會在返回該值之前將其分離出來。例如,如果 alpha 值為 0,則藍色值為 0。
ColorModel 中的 getBluepixel - 指定的像素
ColorSpace 中縮放範圍從 0 到 255)的藍色顏色份量。public final int getAlpha(int pixel)
int。
ColorModel 中的 getAlphapixel - 指定像素
pixel(0 到 255)的 alpha 份量的值。public final int getRGB(int pixel)
int。返回的值是非預乘格式。因此,如果預乘 alpha,則此方法會將它從顏色份量中分離出來。例如,如果 alpha 值為 0,則顏色值每個份量都是 0。
ColorModel 中的 getRGBpixel - 指定的像素
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 中的 getRedinData - 套件含該像素值的陣列
ArrayIndexOutOfBoundsException - 如果 inData 不是特別大,不能存儲此顏色模型的像素值
ClassCastException - 如果 inData 不是型別 transferType 的基本陣列
UnsupportedOperationException - 如果此顏色模型不支持 transferTypepublic 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 中的 getGreeninData - 套件含該像素值的陣列
ArrayIndexOutOfBoundsException - 如果 inData 不是特別大,不能存儲此顏色模型的像素值
ClassCastException - 如果 inData 不是型別 transferType 的基本陣列
UnsupportedOperationException - 如果此顏色模型不支持 transferTypepublic 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 中的 getBlueinData - 套件含像素值的陣列
ArrayIndexOutOfBoundsException - 如果 inData 不是特別大,不能存儲此顏色模型的像素值
ClassCastException - 如果 inData 不是型別 transferType 的基本陣列
UnsupportedOperationException - 如果此顏色模型不支持 transferTypepublic int getAlpha(Object inData)
transferType 的資料元素的陣列指定。如果 inData 不是型別 transferType 的基本陣列,則拋出 ClassCastException。如果 inData 不是特別大,不能存儲此 ColorModel 的像素值,則拋出 ArrayIndexOutOfBoundsException。因為 DirectColorModel 可以子類別化,所以子類別可以繼承此方法的實作,並且如果不覆寫此方法,則當它們使用不受支持的 transferType 時,將拋出異常。如果此 transferType 不受支持,則拋出 UnsupportedOperationException。
ColorModel 中的 getAlphainData - 指定的像素
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 中的 getRGBinData - 指定的像素
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 中的 getDataElementsrgb - 預設的 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 中的 getComponentspixel - 指定的像素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 中的 getComponentspixel - 指定的像素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 中的 createCompatibleWritableRasterw - 應用到新 WritableRaster 的寬度h - 應用到新 WritableRaster 的高度
WritableRaster 物件。
IllegalArgumentException - 如果 w 或 h 小於或等於 0WritableRaster,
SampleModel
public int getDataElement(int[] components,
int offset)
int 型別表示在此 ColorModel 中的像素值。如果 components 陣列不是特別大,不能以 offset 開頭存儲所有顏色和 alpha 份量,則拋出 ArrayIndexOutOfBoundsException。
ColorModel 中的 getDataElementcomponents - 未標準化的顏色和 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 中的 getDataElementscomponents - 未標準化的顏色和 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 中的 coerceDataraster - WritableRaster 資料isAlphaPremultiplied - 如果 alpha 是預先乘得的,則為 true;否則為 false
ColorModel 物件。
UnsupportedOperationException - 如果此 transferType 不受此顏色模型支持public boolean isCompatibleRaster(Raster raster)
raster 與此 ColorModel 相容,則返回 true,如果不相容,則返回 false。
ColorModel 中的 isCompatibleRasterraster - 測試相容性的 Raster 物件
true 如果 raster 與此 ColorModel 相容;否則 false。public String toString()
DirectColorModel 的 String。
ColorModel 中的 toStringDirectColorModel 的 String。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。