JavaTM 2 Platform
Standard Ed. 6

java.awt.color
類別 ICC_ProfileRGB

java.lang.Object
  繼承者 java.awt.color.ICC_Profile
      繼承者 java.awt.color.ICC_ProfileRGB
所有已實作的介面:
Serializable

public class ICC_ProfileRGB
extends ICC_Profile

ICC_ProfileRGB 類別是 ICC_Profile 類別的子類別,它表示滿足以下標準的配置檔案:

當滿足這些條件時,ICC_ProfilegetInstance 方法將返回一個 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。
 
從類別 java.awt.color.ICC_Profile 繼承的欄位
CLASS_ABSTRACT, CLASS_COLORSPACECONVERSION, CLASS_DEVICELINK, CLASS_DISPLAY, CLASS_INPUT, CLASS_NAMEDCOLOR, CLASS_OUTPUT, icAbsoluteColorimetric, icCurveCount, icCurveData, icHdrAttributes, icHdrCmmId, icHdrColorSpace, icHdrCreator, icHdrDate, icHdrDeviceClass, icHdrFlags, icHdrIlluminant, icHdrMagic, icHdrManufacturer, icHdrModel, icHdrPcs, icHdrPlatform, icHdrProfileID, icHdrRenderingIntent, icHdrSize, icHdrVersion, icICCAbsoluteColorimetric, icMediaRelativeColorimetric, icPerceptual, icRelativeColorimetric, icSaturation, icSigAbstractClass, icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueColorantTag, icSigBlueMatrixColumnTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigCalibrationDateTimeTag, icSigCharTargetTag, icSigChromaticAdaptationTag, icSigChromaticityTag, icSigCmyData, icSigCmykData, icSigColorantOrderTag, icSigColorantTableTag, icSigColorSpaceClass, icSigCopyrightTag, icSigCrdInfoTag, icSigDeviceMfgDescTag, icSigDeviceModelDescTag, icSigDeviceSettingsTag, icSigDisplayClass, icSigGamutTag, icSigGrayData, icSigGrayTRCTag, icSigGreenColorantTag, icSigGreenMatrixColumnTag, icSigGreenTRCTag, icSigHead, icSigHlsData, icSigHsvData, icSigInputClass, icSigLabData, icSigLinkClass, icSigLuminanceTag, icSigLuvData, icSigMeasurementTag, icSigMediaBlackPointTag, icSigMediaWhitePointTag, icSigNamedColor2Tag, icSigNamedColorClass, icSigOutputClass, icSigOutputResponseTag, icSigPreview0Tag, icSigPreview1Tag, icSigPreview2Tag, icSigProfileDescriptionTag, icSigProfileSequenceDescTag, icSigPs2CRD0Tag, icSigPs2CRD1Tag, icSigPs2CRD2Tag, icSigPs2CRD3Tag, icSigPs2CSATag, icSigPs2RenderingIntentTag, icSigRedColorantTag, icSigRedMatrixColumnTag, icSigRedTRCTag, icSigRgbData, icSigScreeningDescTag, icSigScreeningTag, icSigSpace2CLR, icSigSpace3CLR, icSigSpace4CLR, icSigSpace5CLR, icSigSpace6CLR, icSigSpace7CLR, icSigSpace8CLR, icSigSpace9CLR, icSigSpaceACLR, icSigSpaceBCLR, icSigSpaceCCLR, icSigSpaceDCLR, icSigSpaceECLR, icSigSpaceFCLR, icSigTechnologyTag, icSigUcrBgTag, icSigViewingCondDescTag, icSigViewingConditionsTag, icSigXYZData, icSigYCbCrData, icSigYxyData, icTagReserved, icTagType, icXYZNumberX
 
方法摘要
 float getGamma(int component)
          返回表示特定份量色調再現曲線 (TRC) 的 gamma 值。
 float[][] getMatrix()
          返回一個由配置檔案的 redColorantTaggreenColorantTagblueColorantTag 的 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
 

欄位詳細資訊

REDCOMPONENT

public static final int REDCOMPONENT
用於獲取紅色份量的 gamma 值或 TRC。

另請參見:
常數欄位值

GREENCOMPONENT

public static final int GREENCOMPONENT
用於獲取綠色份量的 gamma 值或 TRC。

另請參見:
常數欄位值

BLUECOMPONENT

public static final int BLUECOMPONENT
用於獲取藍色份量的 gamma 值或 TRC。

另請參見:
常數欄位值
方法詳細資訊

getMediaWhitePoint

public float[] getMediaWhitePoint()
返回包含配置檔案的 mediaWhitePointTag 份量的陣列。

返回:
一個 3 元素的 float 陣列,它包含配置檔案的 mediaWhitePointTag 的 x、y 和 z 份量。

getMatrix

public float[][] getMatrix()
返回一個由配置檔案的 redColorantTaggreenColorantTagblueColorantTag 的 X、Y 和 Z 份量建構的 3x3 float 矩陣。

此矩陣可用於配置檔案的正向顏色轉換,即從配置檔案顏色空間到 CIEXYZ PCS 的轉變。

返回:
一個套件含配置檔案的 redColorantTaggreenColorantTagblueColorantTag 的 X、Y 和 Z 份量的 3x3 float 陣列。

getGamma

public float getGamma(int component)
返回表示特定份量色調再現曲線 (TRC) 的 gamma 值。component 參數必須是 REDCOMPONENT、GREENCOMPONENT 或 BLUECOMPONENT 三者之一。

如果配置檔案將相應份量的 TRC 表示為表,而不是單個 gamma 值,則拋出異常。在這種情況下,可通過 getTRC(int) 方法獲得實際的表。使用 gamma 值時,按如下方式計算線性份量(R、G 或 B):

 
                                           gamma
          linearComponent = deviceComponent

參數:
component - ICC_ProfileRGB 常數,表示要檢索其 TRC 的份量
返回:
float 型別的 gamma 值。
拋出:
ProfileDataException - 如果配置檔案沒有將相應的 TRC 指定為單個 gamma 值。

getTRC

public short[] getTRC(int component)
以陣列形式返回特定份量的 TRC。Component 必須是 REDCOMPONENTGREENCOMPONENTBLUECOMPONENT 三者之一。否則該返回陣列表示一個尋找表,在理論上,其輸入份量值範圍是 [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 的份量:REDCOMPONENTGREENCOMPONENTBLUECOMPONENT
返回:
表示 TRC 的 short 陣列。
拋出:
ProfileDataException - 如果配置檔案沒有將相應的 TRC 指定為一個表。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only