|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.color.ICC_Profile java.awt.color.ICC_ProfileRGB
public class ICC_ProfileRGB
ICC_ProfileRGB 類別是 ICC_Profile 類別的子類別,它表示滿足以下標準的配置檔案:
redColorantTag
、greenColorantTag
、blueColorantTag
、redTRCTag
、greenTRCTag
、blueTRCTag
和 mediaWhitePointTag
標記。ICC_Profile
的 getInstance
方法將返回一個 ICC_ProfileRGB
物件。三個份量、基於矩陣輸入的配置檔案和 RGB 顯示配置檔案是這種型別的配置檔案範例。
此配置檔案類別提供了顏色變換矩陣和尋找表,Java 或本機方法在某些情況下可直接使用它們來優化顏色轉換。
要從設備配置檔案顏色空間轉換到 CIEXYZ 配置檔案連接空間,首先應該由尋找表通過色調再現曲線 (TRC) 來線性化每種設備顏色份量。線性化之後的 RGB 份量通過一個由 RGB 顏料所建構的 3x3 矩陣轉換為 CIEXYZ PCS。
linearR = redTRC[deviceR] linearG = greenTRC[deviceG] linearB = blueTRC[deviceB] _ _ _ _ _ _ [ PCSX ] [ redColorantX greenColorantX blueColorantX ] [ linearR ] [ ] [ ] [ ] [ PCSY ] = [ redColorantY greenColorantY blueColorantY ] [ linearG ] [ ] [ ] [ ] [_ PCSZ _] [_ redColorantZ greenColorantZ blueColorantZ _] [_ linearB _]可用以下方式執行逆向轉換:通過上面 3x3 矩陣的逆矩陣可將 PCS XYZ 份量轉換為線性 RGB 份量,然後通過逆 TRC 將線性 RGB 轉換為設備 RGB。
欄位摘要 | |
---|---|
static int |
BLUECOMPONENT
用於獲取藍色份量的 gamma 值或 TRC。 |
static int |
GREENCOMPONENT
用於獲取綠色份量的 gamma 值或 TRC。 |
static int |
REDCOMPONENT
用於獲取紅色份量的 gamma 值或 TRC。 |
方法摘要 | |
---|---|
float |
getGamma(int component)
返回表示特定份量色調再現曲線 (TRC) 的 gamma 值。 |
float[][] |
getMatrix()
返回一個由配置檔案的 redColorantTag 、greenColorantTag 和 blueColorantTag 的 X、Y 和 Z 份量建構的 3x3 float 矩陣。 |
float[] |
getMediaWhitePoint()
返回包含配置檔案的 mediaWhitePointTag 份量的陣列。 |
short[] |
getTRC(int component)
以陣列形式返回特定份量的 TRC。 |
從類別 java.awt.color.ICC_Profile 繼承的方法 |
---|
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int REDCOMPONENT
public static final int GREENCOMPONENT
public static final int BLUECOMPONENT
方法詳細資訊 |
---|
public float[] getMediaWhitePoint()
mediaWhitePointTag
份量的陣列。
float
陣列,它包含配置檔案的 mediaWhitePointTag
的 x、y 和 z 份量。public float[][] getMatrix()
redColorantTag
、greenColorantTag
和 blueColorantTag
的 X、Y 和 Z 份量建構的 3x3 float
矩陣。
此矩陣可用於配置檔案的正向顏色轉換,即從配置檔案顏色空間到 CIEXYZ PCS 的轉變。
redColorantTag
、greenColorantTag
和 blueColorantTag
的 X、Y 和 Z 份量的 3x3 float
陣列。public float getGamma(int component)
如果配置檔案將相應份量的 TRC 表示為表,而不是單個 gamma 值,則拋出異常。在這種情況下,可通過 getTRC(int)
方法獲得實際的表。使用 gamma 值時,按如下方式計算線性份量(R、G 或 B):
gamma linearComponent = deviceComponent
component
- ICC_ProfileRGB
常數,表示要檢索其 TRC 的份量
ProfileDataException
- 如果配置檔案沒有將相應的 TRC 指定為單個 gamma 值。public short[] getTRC(int component)
REDCOMPONENT
、GREENCOMPONENT
或 BLUECOMPONENT
三者之一。否則該返回陣列表示一個尋找表,在理論上,其輸入份量值範圍是 [0.0, 1.0]。值 0.0 對應陣列索引 0,值 1.0 則對應陣列索引 length-1。對於陣列中無確切對應某個索引的輸入值,可以使用插值法為其產生輸出值。輸出值也與範圍 [0.0, 1.0] 呈線性對應。陣列值 0x0000 表示值 0.0,0xFFFF 則表示值 1.0。換句話說,儘管這些值是以 short
陣列的形式返回的,但它們實際上是無符號的 short
值。
如果配置檔案已經將相應的 TRC 指定為線性(gamma=1.0)或一個簡單的 gamma 值,則此方法拋出異常。在這種情況下,應該使用 getGamma(int)
方法獲取 gamma 值。
component
- ICC_ProfileRGB
常數,表示要檢索其 TRC 的份量:REDCOMPONENT
、GREENCOMPONENT
或 BLUECOMPONENT
。
ProfileDataException
- 如果配置檔案沒有將相應的 TRC 指定為一個表。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。