|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.color.ICC_Profile | +--java.awt.color.ICC_ProfileRGB
ICC_ProfileRGB クラスは、ICC_Profile クラスのサブクラスの 1 つで、次の条件を満たすプロファイルを表します。
redColorantTag
、greenColorantTag
、blueColorantTag
、redTRCTag
、greenTRCTag
、blueTRCTag
、および 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 に変換します。
フィールドの概要 | |
static int |
BLUECOMPONENT
青色成分のガンマ値または TRC を取得するときに使用します。 |
static int |
GREENCOMPONENT
緑色成分のガンマ値または TRC を取得するときに使用します。 |
static int |
REDCOMPONENT
赤色成分のガンマ値または TRC を取得するときに使用します。 |
メソッドの概要 | |
float |
getGamma(int component)
特定の成分のトーンリプロダクションカーブ (TRC) を表すガンマ値を返します。 |
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
の成分を含む配列を返します。
ICC_Profile
内の getMediaWhitePoint
float
の配列を返す。この配列は、プロファイルの mediaWhitePointTag
の x、y、および z 成分で構成されるpublic float[][] getMatrix()
redColorantTag
、greenColorantTag
、および blueColorantTag
の X、Y、および Z 成分から構成される、3x3 float
行列を返します。
この行列を使用して、プロファイルカラースペースから CIEXYZ PCS へのカラー変換を行うことができます。
float
の配列。プロファイルの redColorantTag
、greenColorantTag
、および blueColorantTag
の x、y、および z 成分で構成されるpublic float getGamma(int component)
プロファイルの TRC の対応する成分が、単一ガンマ値ではなくテーブルとして表されている場合は、例外がスローされます。この場合、TRC のテーブルは getTRC(int)
メソッドを使って取得できます。ガンマ値を使用している場合、線形成分 (R、G、または B) は次のように計算されます。
gamma linearComponent = deviceComponent
ICC_Profile
内の getGamma
component
- 取得する TRC の成分を表す ICC_ProfileRGB
定数
ProfileDataException
- プロファイルの対応する TRC が単一ガンマ値として指定されていない場合public short[] getTRC(int component)
REDCOMPONENT
、GREENCOMPONENT
、または 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)
メソッドを使用する必要があります。
ICC_Profile
内の getTRC
component
- 取得する TRC の成分を表す ICC_ProfileRGB
定数。REDCOMPONENT
、GREENCOMPONENT
、BLUECOMPONENT
のいずれか
ProfileDataException
- プロファイルの TRC がテーブルとして指定されていない場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.