クラスColorSpace
- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
ICC_ColorSpace
Colorオブジェクトの特定のカラー・スペースを特定するためのカラー・スペース・タグとして機能するため、またはColorModelオブジェクト(Image、BufferedImageまたはGraphicsDeviceを介した)として機能するために使用されます。 このクラスには、特定のカラー・スペースとsRGB、および特定のカラー・スペースと明確に定義されたCIEXYZカラー・スペースの間でカラーを変換するメソッドがあります。
このクラスのメソッド用に、色は、各ColorSpaceによって定義される正規化された範囲内で浮動小数として表される色コンポーネントの配列として表されます。 ColorSpaces (例: sRGB)の多くの場合、範囲は0.0から1.0です。 ただし、ColorSpacesの中には、異なる範囲の値を持つコンポーネントが含まれているものがあります。 標準化された値の最小値と最大値は、成分ごとに用意されているメソッドを使用して照会できます。
カラー・スペース・タイプ(例、TYPE_RGB, TYPE_XYZなど)を参照する目的で定義された複数の変数で、特定のカラー・スペース(例: CS_sRGBおよびCS_CIEXYZ)を参照します。sRGBは、提案される標準のRGBカラー・スペースです。 詳細は、http://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlを参照してください。
明確に定義されたCIEXYZカラー・スペースとの間で変換を行うメソッドの目的は、2つのカラー・スペースの間で高精度の変換をサポートすることです。 ColorSpace (例、ICC_ColorSpace)のサブクラスの特定の実装では、基になるプラットフォーム色管理システムに基づいた高パフォーマンス変換がサポートされることが想定されています。
toCIEXYZ/fromCIEXYZメソッドで使用されるCS_CIEXYZスペースは、次のように記述できます:
CIEXYZ viewing illuminance: 200 lux viewing white point: CIE D50 media white point: "that of a perfectly reflecting diffuser" -- D50 media black point: 0 lux or 0 Reflectance flare: 1 percent surround: 20percent of the media white point media description: reflection print (i.e., RLAB, Hunt viewing media) note: For developers creating an ICC profile for this conversion space, the following is applicable. Use a simple Von Kries white point adaptation folded into the 3X3 matrix parameters and fold the flare and surround effects into the three one-dimensional lookup tables (assuming one uses the minimal model for monitors).
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int上で定義した組込みCIEXYZ変換カラー・スペース。static final int組込みリニア・グレー・スケール・カラー・スペースです。static final intビルトインの線形RGBカラー・スペースです。static final int組み込みのフォトYCC変換カラー・スペース。static final inthttp://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlで定義されている組込みsRGBカラー・スペース。static final intジェネリック2成分カラー・スペースです。static final intジェネリック3成分カラー・スペースです。static final intジェネリック4成分カラー・スペースです。static final intジェネリック5成分カラー・スペースです。static final intジェネリック6成分カラー・スペースです。static final intジェネリック7成分カラー・スペースです。static final intジェネリック8成分カラー・スペースです。static final intジェネリック9成分カラー・スペースです。static final intジェネリック10成分カラー・スペースです。static final intジェネリック11成分カラー・スペースです。static final intジェネリック12成分カラー・スペースです。static final intCMYカラー・スペース・ファミリのどれかです。static final intCMYKカラー・スペース・ファミリのどれかです。static final intジェネリック13成分カラー・スペースです。static final intジェネリック14成分カラー・スペースです。static final intジェネリック15成分カラー・スペースです。static final intGRAYカラー・スペース・ファミリのどれかです。static final intHLSカラー・スペース・ファミリのどれかです。static final intHSVカラー・スペース・ファミリのどれかです。static final intLabカラー・スペース・ファミリのどれかです。static final intLuvカラー・スペース・ファミリのどれかです。static final intRGBカラー・スペース・ファミリのどれかです。static final intXYZカラー・スペース・ファミリのどれかです。static final intYCbCrカラー・スペース・ファミリのどれかです。static final intYxyカラー・スペース・ファミリのどれかです。 -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedColorSpace(int type, int numComponents) カラー・スペース型およびコンポーネント数で指定されたColorSpaceオブジェクトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明abstract float[]fromCIEXYZ(float[] colorvalue) CS_CIEXYZ変換カラー・スペース内にあるとみなされる色値をこのColorSpaceに変換します。abstract float[]fromRGB(float[] rgbvalue) 色の値をデフォルトのCS_sRGBカラー・スペースとみなし、このColorSpaceに変換します。static ColorSpacegetInstance(int cspace) 特定の事前定義済のカラー・スペースの1つを表すColorSpaceを返します。floatgetMaxValue(int component) 指定された成分について、標準化された成分値の最大値を返します。floatgetMinValue(int component) 指定された成分について、標準化された成分値の最小値を返します。getName(int component) 指定された成分インデックスで、成分の名前を返します。intこのColorSpaceの成分数を返します。intgetType()このColorSpace(例:TYPE_RGB、TYPE_XYZ、...)のカラー・スペース・タイプを返します。booleanColorSpaceがCS_sRGBの場合はtrueを返します。abstract float[]toCIEXYZ(float[] colorvalue) ColorSpace内にあるとみなされる色値をCS_CIEXYZ変換のカラー・スペースに変換します。abstract float[]toRGB(float[] colorvalue) ColorSpaceで想定された色の値をデフォルトのCS_sRGBカラー・スペースの値に変換します。
-
フィールド詳細
-
TYPE_XYZ
-
TYPE_Lab
-
TYPE_Luv
-
TYPE_YCbCr
-
TYPE_Yxy
-
TYPE_RGB
-
TYPE_GRAY
-
TYPE_HSV
-
TYPE_HLS
-
TYPE_CMYK
-
TYPE_CMY
-
TYPE_2CLR
-
TYPE_3CLR
-
TYPE_4CLR
-
TYPE_5CLR
-
TYPE_6CLR
-
TYPE_7CLR
-
TYPE_8CLR
-
TYPE_9CLR
-
TYPE_ACLR
-
TYPE_BCLR
-
TYPE_CCLR
-
TYPE_DCLR
-
TYPE_ECLR
-
TYPE_FCLR
-
CS_sRGB
@Native public static final int CS_sRGBhttp://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlで定義されている組込みsRGBカラー・スペース。- 関連項目:
-
CS_LINEAR_RGB
@Native public static final int CS_LINEAR_RGBビルトインの線形RGBカラー・スペースです。 このスペースは、CS_sRGBと同じRGBプライマリに基づいていますが、線形着信音が再現曲線になっています。- 関連項目:
-
CS_CIEXYZ
-
CS_PYCC
-
CS_GRAY
-
-
コンストラクタの詳細
-
ColorSpace
protected ColorSpace(int type, int numComponents) カラー・スペース型およびコンポーネント数で指定されたColorSpaceオブジェクトを構築します。- パラメータ:
type-ColorSpaceタイプ定数のいずれかnumComponents- カラー・スペース内のコンポーネントの数
-
-
メソッドの詳細
-
getInstance
public static ColorSpace getInstance(int cspace) 特定の事前定義済のカラー・スペースの1つを表すColorSpaceを返します。- パラメータ:
cspace- 事前定義されたクラス定数(例:CS_sRGB,CS_LINEAR_RGB,CS_CIEXYZ,CS_GRAY、CS_PYCC)のいずれかで識別される特定の色空間- 戻り値:
- 要求された
ColorSpaceオブジェクト - スロー:
IllegalArgumentException-cspaceが事前定義されたカラー・スペース・タイプのいずれでもない場合
-
isCS_sRGB
public boolean isCS_sRGB()ColorSpaceがCS_sRGBの場合はtrueを返します。- 戻り値:
- これが
CS_sRGBカラー・スペースである場合はtrue、そうでない場合はfalse
-
toRGB
public abstract float[] toRGB(float[] colorvalue) ColorSpaceで想定された色の値をデフォルトのCS_sRGBカラー・スペースの値に変換します。このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。 色値をcolorimetricに変換するには、このカラー・スペースの
toCIEXYZメソッドを使用して、最初に入力カラー・スペースからCS_CIEXYZカラー・スペースに変換し、次にCS_sRGBカラー・スペースのfromCIEXYZメソッドを使用してCS_CIEXYZから出力カラー・スペースに変換する必要があります。 詳細は、toCIEXYZおよびfromCIEXYZを参照してください。- パラメータ:
colorvalue- 長さが少なくともこのColorSpaceのコンポーネント数である浮動小数配列- 戻り値:
- 長さが3のfloat配列
- スロー:
ArrayIndexOutOfBoundsException- 配列の長さがこのColorSpace内のコンポーネントの数以上でない場合NullPointerException-colorvalueがnullの場合
-
fromRGB
public abstract float[] fromRGB(float[] rgbvalue) 色の値をデフォルトのCS_sRGBカラー・スペースとみなし、このColorSpaceに変換します。このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。 色値をcolorimetricに変換するには、
CS_sRGBカラー・スペースのtoCIEXYZメソッドを使用して、最初に入力カラー・スペースからCS_CIEXYZカラー・スペースに変換し、次にこのカラー・スペースのfromCIEXYZメソッドを使用してCS_CIEXYZから出力カラー・スペースに変換する必要があります。 詳細は、toCIEXYZおよびfromCIEXYZを参照してください。- パラメータ:
rgbvalue- 少なくとも3の長さを持つfloat配列- 戻り値:
- この
ColorSpaceのコンポーネント数と長さが等しい浮動小数配列 - スロー:
ArrayIndexOutOfBoundsException- 配列の長さが3に満たない場合NullPointerException-rgbvalueがnullの場合
-
toCIEXYZ
public abstract float[] toCIEXYZ(float[] colorvalue) ColorSpace内にあるとみなされる色値をCS_CIEXYZ変換のカラー・スペースに変換します。このメソッドは、International Color Consortium基準で定義されている相対色度測定を使ってカラー値を変換します。 つまり、このメソッドによって返されたXYZの値は、
CS_CIEXYZカラー・スペースのD50ホワイト・ポイントを基準にして表されます。 この表現は、入力カラー・スペースからCS_CIEXYZに色を変換し、出力カラー・スペースに変換する2段階の色変換プロセスで役に立ちます。 この表現は、指定されたカラー値から色度計を使って測定するXYZ値と同じではありません。 現在CIE推奨の計算方法を使って測定されているXYZ値を計算するには、さらに詳細な変換が必要です。 詳細は、ICC_ColorSpaceのtoCIEXYZメソッドを参照してください。- パラメータ:
colorvalue- 長さが少なくともこのColorSpaceのコンポーネント数である浮動小数配列- 戻り値:
- 長さが3のfloat配列
- スロー:
ArrayIndexOutOfBoundsException- 配列の長さがこのColorSpace内のコンポーネントの数以上でない場合NullPointerException-colorvalueがnullの場合
-
fromCIEXYZ
public abstract float[] fromCIEXYZ(float[] colorvalue) CS_CIEXYZ変換カラー・スペース内にあるとみなされる色値をこのColorSpaceに変換します。このメソッドは、International Color Consortium基準で定義されている相対色度測定を使ってカラー値を変換します。 つまり、このメソッドによって取得されたXYZ引数の値は、
CS_CIEXYZカラー・スペースのD50ホワイト・ポイントを基準にして表されます。 この表現は、入力カラー・スペースからCS_CIEXYZに色を変換し、出力カラー・スペースに変換する2段階の色変換プロセスで役に立ちます。 このメソッドが返すカラー値は、色度計で測定するときにメソッドに渡されるXYZ値を生成するカラー値ではありません。 現在CIE推奨の計算方法を使った測定値に対応するXYZ値を計算済みの場合は、その値がこのメソッドに渡される前にD50相対値に変換する必要があります。 詳細は、ICC_ColorSpaceのfromCIEXYZメソッドを参照してください。- パラメータ:
colorvalue- 少なくとも3の長さを持つfloat配列- 戻り値:
- この
ColorSpaceのコンポーネント数と長さが等しい浮動小数配列 - スロー:
ArrayIndexOutOfBoundsException- 配列の長さが3に満たない場合NullPointerException-colorvalueがnullの場合
-
getType
public int getType()このColorSpace(例:TYPE_RGB、TYPE_XYZ、...)のカラー・スペース・タイプを返します。 このタイプでは、カラー・スペースのコンポーネント数および解釈を定義します。たとえば、TYPE_RGBは、3つのコンポーネントでカラー・スペースを識別 - 赤、緑および青。 領域の特定の色の特性(原色の色度など)は定義されません。- 戻り値:
- この
ColorSpaceのタイプを表すタイプ定数
-
getNumComponents
public int getNumComponents()このColorSpaceの成分数を返します。- 戻り値:
- この
ColorSpace内のコンポーネントの数
-
getName
public String getName(int component) 指定された成分インデックスで、成分の名前を返します。- パラメータ:
component- 成分インデックス- 戻り値:
- 指定されたインデックスの成分の名前
- スロー:
IllegalArgumentException-componentが0より小さいか、numComponents - 1より大きい場合
-
getMinValue
public float getMinValue(int component) 指定された成分について、標準化された成分値の最小値を返します。 この抽象クラスのデフォルトの実装は、すべての成分に対して0.0を返します。 必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。- パラメータ:
component- 成分インデックス- 戻り値:
- 標準化された成分値の最小値
- スロー:
IllegalArgumentException- コンポーネントが0より小さいか、numComponents - 1より大きい場合- 導入されたバージョン:
- 1.4
-
getMaxValue
public float getMaxValue(int component) 指定された成分について、標準化された成分値の最大値を返します。 この抽象クラスのデフォルトの実装は、すべての成分に対して1.0を返します。 必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。- パラメータ:
component- 成分インデックス- 戻り値:
- 標準化された成分値の最大値
- スロー:
IllegalArgumentException- コンポーネントが0より小さいか、numComponents - 1より大きい場合- 導入されたバージョン:
- 1.4
-