モジュール java.desktop
パッケージ 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クラスのサブクラスです。: プロファイルのカラー・スペース・タイプはRGBで、このプロファイルにはredColorantTaggreenColorantTagblueColorantTagredTRCTaggreenTRCTagblueTRCTagmediaWhitePointTagタグが含まれます。 上記の条件が満たされると、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の成分を含む配列を返します。
      戻り値:
      プロファイルのx、y、zの各コンポーネントを含む3-element float配列mediaWhitePointTag
    • getMatrix

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

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

      戻り値:
      プロファイルredColorantTaggreenColorantTag、およびblueColorantTagのx、yおよびzの各コンポーネントを含む、3x3 float配列
    • getGamma

      public float getGamma​(int component)
      特定の成分のトーン・リプロダクション・カーブ(TRC)を表すガンマ値を返します。 コンポーネント・パラメータは、REDCOMPONENTGREENCOMPONENT、または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は、配列インデックスlength-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が表として指定されていない場合