|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。