モジュール java.desktop
パッケージ java.awt.color

クラスICC_ProfileRGB

  • すべての実装されたインタフェース:
    Serializable


    public class ICC_ProfileRGB
    extends ICC_Profile
    ICC_ProfileRGBクラスは、ICC_Profileクラスのサブクラスの1つで、次の条件を満たすプロファイルを表します。
    • カラー・スペースの型がRGBである
    • プロファイルにredColorantTaggreenColorantTagblueColorantTagredTRCTaggreenTRCTagblueTRCTag、およびmediaWhitePointTagタグが含まれている。
    これらの条件が満たされている場合、ICC_Profile getInstanceメソッドはICC_ProfileRGBオブジェクトを返します。 このようなプロファイルの例として、3成分で構成される行列ベースの入力プロファイルや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 _]
    
     
    CIEXYZプロファイル接続領域をデバイス・プロファイル・カラー・スペースに変換するときも、3x3行列を使用してPCS XYZ成分を線形RGB成分に変換し、次にTRCを使用して線形RGBをデバイスRGBに変換します。
    関連項目:
    直列化された形式
    • フィールドの詳細

      • REDCOMPONENT

        public static final int REDCOMPONENT
        赤色成分のガンマ値またはTRCを取得するときに使用します。
        関連項目:
        定数フィールド値
      • GREENCOMPONENT

        public static final int GREENCOMPONENT
        緑色成分のガンマ値またはTRCを取得するときに使用します。
        関連項目:
        定数フィールド値
      • BLUECOMPONENT

        public static final int BLUECOMPONENT
        青色成分のガンマ値またはTRCを取得するときに使用します。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • getMediaWhitePoint

        public float[] getMediaWhitePoint​()
        プロファイルのmediaWhitePointTagの成分を含む配列を返します。
        戻り値:
        プロファイルのmediaWhitePointTagのx、y、およびz成分を含む3要素のfloat配列。
      • getMatrix

        public float[][] getMatrix​()
        プロファイルのredColorantTaggreenColorantTag、およびblueColorantTagのX、Y、およびZ成分から構築された3x3 floatマトリクスを返します。

        この行列を使用して、プロファイル・カラー・スペースからCIEXYZ PCSへのカラー変換を行うことができます。

        戻り値:
        プロファイルのgreenColorantTagblueColorantTag、およびfloatのx、y、およびz成分を含む3x3のredColorantTag配列。
      • getGamma

        public float getGamma​(int component)
        特定の成分のトーン・リプロダクション・カーブ(TRC)を表すガンマ値を返します。 成分パラメータは、REDCOMPONENT、GREENCOMPONENT、またはBLUECOMPONENTである必要があります。

        プロファイルのTRCの対応する成分が、単一ガンマ値ではなく表として表されている場合は、例外がスローされます。 この場合、実際の表はgetTRC(int)メソッドを使用して取得できます。 ガンマ値を使用している場合、線形成分(R、G、またはB)は次のように計算されます。

        
                                                   gamma
                  linearComponent = deviceComponent
        
        
        パラメータ:
        component - 取得するTRCの成分を表すICC_ProfileRGB定数
        戻り値:
        floatとして表されたガンマ値
        例外:
        ProfileDataException - プロファイルで、対応するTRCが単一のガンマ値として指定されていない場合。
      • getTRC

        public short[] getTRC​(int component)
        特定の成分のTRCを配列として返します。 成分は、REDCOMPONENTGREENCOMPONENT、またはBLUECOMPONENTである必要があります。 それ以外の場合、返される配列はルックアップ表を表し、入力成分値は概念上[0.0, 1.0]の範囲になります。 値0.0は配列インデックスの0に割り当てられ、値1.0は配列インデックスの長さ -1に割り当てられます。 入力値が配列インデックスに正確に割り当てられないときは、出力値を生成するときに補間が使用されます。 出力値も、範囲[0.0, 1.0]に線形的に割り当てられます。 値0.0は配列の値0x0000として表され、値1.0は配列の値0xFFFFとして表されます。 つまり、これらの値は、short配列で返されたとしても実際には符号なしのshort値です。 プロファイルの対応するTRCが線形(ガンマ= 1.0)または単純なガンマ値として指定されている場合は、例外がスローされます。 この場合、ガンマ値を取得するにはgetGamma(int)メソッドを使用する必要があります。
        パラメータ:
        component - 取得するTRCの成分を表すICC_ProfileRGB定数。REDCOMPONENTGREENCOMPONENT、またはBLUECOMPONENT
        戻り値:
        TRCを表すshort配列
        例外:
        ProfileDataException - プロファイルで、対応するTRCが表として指定されていない場合。