|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.awt.image.ColorModel
java.awt.image.PackedColorModel
public abstract class PackedColorModel
PackedColorModel 類別是一個抽象 ColorModel 類別,它使用的像素值以單獨採樣表示顏色和 alpha 資訊,並將單個像素的所有採樣打包到單個 int、short 或 byte 量中。此類別可與任意 ColorSpace 一起使用。像素值中的顏色採樣數必須與 ColorSpace 中的顏色份量數相同。可以有單個 alpha 採樣。對於那些使用 transferType 型別的基本陣列像素表示形式的方法,陣列的長度總是 1。受支持的傳輸型別有 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT 和 DataBuffer.TYPE_INT。顏色和 alpha 採樣按位遮罩碼所指示的位存儲在陣列的單個元素中。每個位遮罩碼必須是連續的,並且遮罩碼不能重疊。相同的遮罩碼適用於其他方法使用的單個 int 像素表示形式。遮罩碼和顏色/alpha 採樣的對應關係如下:
getNumComponents - 1 的索引來標識各遮罩碼。
getNumColorComponents 個索引指顏色採樣。
ColorSpace 所指定。此順序通常反映顏色空間型別的名稱(例如 TYPE_RGB),索引 0 對應於紅色、索引 1 對應於綠色、索引 2 則對應於藍色。
出於顯示或處理目的而執行的像素值到顏色/alpha 份量的轉換是採樣到份量的一一對應關係。PackedColorModel 通常與使用遮罩碼來定義已打包採樣的圖像資料一起使用。例如,可結合使用 PackedColorModel 和 SinglePixelPackedSampleModel 來建構一個 BufferedImage。通常 SampleModel 所用的遮罩碼與 ColorModel 使用的相同。但是如果它們不同,則根據 ColorModel 的遮罩碼對像素資料進行顏色解釋。
單個 int 的像素表示形式對於此類別的所有物件都是有效的,因為總是能夠以單個 int 表示此類別使用的像素值。因此,使用此種表示形式的方法不會由於無效的像素值而拋出 IllegalArgumentException。
PackedColorModel 的子類別是 DirectColorModel,類似於 X11 TrueColor 可視化模型型別。
DirectColorModel,
SinglePixelPackedSampleModel,
BufferedImage| 欄位摘要 |
|---|
| 從類別 java.awt.image.ColorModel 繼承的欄位 |
|---|
pixel_bits, transferType |
| 從介面 java.awt.Transparency 繼承的欄位 |
|---|
BITMASK, OPAQUE, TRANSLUCENT |
| 建構子摘要 | |
|---|---|
PackedColorModel(ColorSpace space,
int bits,
int[] colorMaskArray,
int alphaMask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
根據顏色遮罩碼陣列(指定了 int 像素表示形式中哪些位包含每個顏色的採樣)和 alpha 遮罩碼來建構一個 PackedColorModel。 |
|
PackedColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
根據指定的遮罩碼建構一個 PackedColorModel,該遮罩碼指示 int 像素表示形式中的哪些位包含 alpha、紅色、綠色和藍色採樣。 |
|
| 方法摘要 | |
|---|---|
SampleModel |
createCompatibleSampleModel(int w,
int h)
創建一個具有指定寬度和高度、資料佈局與此 ColorModel 相容的 SampleModel。 |
boolean |
equals(Object obj)
測試指定的 Object 是否為 PackedColorModel 的一個實例並且等於此 PackedColorModel。 |
WritableRaster |
getAlphaRaster(WritableRaster raster)
返回從輸入 WritableRaster 提取,並且表示圖像 alpha 通道的 WritableRaster。 |
int |
getMask(int index)
返回指示像素中哪些位包含指定顏色/alpha 採樣的遮罩碼。 |
int[] |
getMasks()
返回指示像素中的哪些位包含顏色和 alpha 採樣的遮罩碼陣列。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
檢查指定的 SampleModel 是否與此 ColorModel 相容。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, getClass, notify, notifyAll, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public PackedColorModel(ColorSpace space,
int bits,
int[] colorMaskArray,
int alphaMask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
int 像素表示形式中哪些位包含每個顏色的採樣)和 alpha 遮罩碼來建構一個 PackedColorModel。顏色份量在指定的 ColorSpace 中。colorMaskArray 的長度應該是 ColorSpace 中的份量數。每個遮罩碼中的所有位必須是連續的,並且能夠放入指定 int 像素表示形式的最低有效位數中。如果 alphaMask 為 0,則不存在 alpha。如果存在 alpha,則 boolean 值 isAlphaPremultiplied 指定如何解釋像素值中的顏色和 alpha 採樣。如果該 boolean 值為 true,則假定顏色採樣已經預乘以 alpha 採樣。透明度 trans 指定了此顏色模型可以表示的 alpha 值。傳輸型別是用於表示像素值的基本陣列型別。
space - 指定的 ColorSpacebits - 像素值中的位數colorMaskArray - 指定遮罩碼的陣列,該遮罩碼表示像素值中表示顏色份量的位alphaMask - 指定像素值中表示 alpha 份量的位遮罩碼isAlphaPremultiplied - 如果顏色採樣預乘了 alpha 採樣,則為 true;否則為 falsetrans - 指定可由此顏色模型表示的 alpha 值transferType - 用於表示像素值的陣列型別
IllegalArgumentException - 如果 bits 小於 1 或大於 32
public PackedColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
PackedColorModel,該遮罩碼指示 int 像素表示形式中的哪些位包含 alpha、紅色、綠色和藍色採樣。顏色份量在指定的 ColorSpace 中,並且必須是 ColorSpace.TYPE_RGB 型別。每個遮罩碼中的所有位必須是連續的,並且能夠放入指定 int 像素表示形式的最低有效位數中。如果 amask 是 0,則不存在 alpha。如果存在 alpha,則 boolean 值 isAlphaPremultiplied 指定如何解釋像素值中的顏色和 alpha 採樣。如果該 boolean 值為 true,則假定顏色採樣已經預乘以 alpha 採樣。透明度 trans 指定了此顏色模型可以表示的 alpha 值。傳輸型別是用於表示像素值的基本陣列型別。
space - 指定的 ColorSpacebits - 像素值中的位數rmask - 指定像素值中表示紅色份量的位遮罩碼gmask - 指定像素值中表示綠色份量的位遮罩碼bmask - 指定像素值中表示藍色份量的位遮罩碼amask - 指定像素值中表示 alpha 份量的位遮罩碼isAlphaPremultiplied - 如果顏色採樣預乘了 alpha 採樣,則為 true;否則為 falsetrans - 指定可由此顏色模型表示的 alpha 值transferType - 用於表示像素值的陣列型別
IllegalArgumentException - 如果 space 不是 TYPE_RGB 空間ColorSpace| 方法詳細資訊 |
|---|
public final int getMask(int index)
index 對應於顏色空間中顏色採樣名稱的放置位置。因此對於 CMYK ColorSpace,index 0 對應 Cyan,而 index 1 則對應 Magenta。如果存在 alpha,則 alpha 的 index 是:
alphaIndex = numComponents() - 1;
index - 指定的顏色或 alpha 採樣
int 像素表示中的哪些位包含 index 所指定的顏色或 alpha 採樣的遮罩碼。
ArrayIndexOutOfBoundsException - 如果 index 大於此 PackedColorModel 中的份量數減 1,或者 index 小於 0public final int[] getMasks()
int 像素表示形式中的哪些位包含顏色或 alpha 採樣。
public SampleModel createCompatibleSampleModel(int w,
int h)
ColorModel 相容的 SampleModel。
ColorModel 中的 createCompatibleSampleModelw - 所描述的圖像資料區域的寬度(以像素為單位)h - 所描述的圖像資料區域的高度(以像素為單位)
SampleModel。
IllegalArgumentException - 如果 w 或 h 不大於 0SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel 是否與此 ColorModel 相容。如果 sm 為 null,則此方法返回 false。
ColorModel 中的 isCompatibleSampleModelsm - 指定的 SampleModel,或者為 null
SampleModel 與此 ColorModel 相容,則返回 true;否則返回 false。SampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster 提取,並且表示圖像 alpha 通道的 WritableRaster。此方法假定與此 ColorModel 關聯的 WritableRaster 物件將 alpha band(如果有)存儲為圖像資料的最後一個 band。如果沒有與此 ColorModel 關聯的、佔據獨立空間的 alpha 通道,則返回 null。此方法創建一個新的 WritableRaster,但是共享原來的資料陣列。
ColorModel 中的 getAlphaRasterraster - 套件含圖像的 WritableRaster
raster 中所含圖像 alpha 通道的 WritableRaster。public boolean equals(Object obj)
Object 是否為 PackedColorModel 的一個實例並且等於此 PackedColorModel。
ColorModel 中的 equalsobj - 要測試相等性的 Object
Object 是 PackedColorModel 的一個實例並且等於此 PackedColorModel,則返回 true;否則返回 false。Object.hashCode(),
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。