- java.lang.Object
-
- java.awt.color.ColorSpace
-
- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
ICC_ColorSpace
public abstract class ColorSpace extends Object implements Serializable
この抽象クラスは、Colorオブジェクトの特定のカラー・スペース、またはColorModelオブジェクトを介して、Image、BufferedImage、またはGraphicsDeviceの特定のカラー・スペースを識別するためにカラー・スペース・タグとして機能します。 このクラスには、特定のカラー・スペースとsRGB、および特定のカラー・スペースと明確に定義されたCIEXYZカラー・スペースの間でカラーを変換するメソッドがあります。このクラスのメソッドでは、カラーは色成分の配列として表されます。色成分は、ColorSpaceごとに標準化された色成分の範囲のfloatとして表されます。 色成分の範囲は、多くのColorSpace (sRGBなど)では0.0 - 1.0です。 しかしながら、一部のColorSpaceでは別の範囲が定義されていることもあります。 標準化された値の最小値と最大値は、成分ごとに用意されているメソッドを使用して照会できます。
カラー・スペース・タイプ(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).
- 関連項目:
ICC_ColorSpace
、直列化された形式
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static int
CS_CIEXYZ
上で定義されたCIEXYZ変換カラー・スペースです。static int
CS_GRAY
組込みリニア・グレー・スケール・カラー・スペースです。static int
CS_LINEAR_RGB
組込みリニアRGBカラー・スペースです。static int
CS_PYCC
Photo YCC変換カラー・スペースです。static int
CS_sRGB
http://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlで定義されているsRGBカラー・スペースです。static int
TYPE_2CLR
ジェネリック2成分カラー・スペースです。static int
TYPE_3CLR
ジェネリック3成分カラー・スペースです。static int
TYPE_4CLR
ジェネリック4成分カラー・スペースです。static int
TYPE_5CLR
ジェネリック5成分カラー・スペースです。static int
TYPE_6CLR
ジェネリック6成分カラー・スペースです。static int
TYPE_7CLR
ジェネリック7成分カラー・スペースです。static int
TYPE_8CLR
ジェネリック8成分カラー・スペースです。static int
TYPE_9CLR
ジェネリック9成分カラー・スペースです。static int
TYPE_ACLR
ジェネリック10成分カラー・スペースです。static int
TYPE_BCLR
ジェネリック11成分カラー・スペースです。static int
TYPE_CCLR
ジェネリック12成分カラー・スペースです。static int
TYPE_CMY
CMYカラー・スペース・ファミリのどれかです。static int
TYPE_CMYK
CMYKカラー・スペース・ファミリのどれかです。static int
TYPE_DCLR
ジェネリック13成分カラー・スペースです。static int
TYPE_ECLR
ジェネリック14成分カラー・スペースです。static int
TYPE_FCLR
ジェネリック15成分カラー・スペースです。static int
TYPE_GRAY
GRAYカラー・スペース・ファミリのどれかです。static int
TYPE_HLS
HLSカラー・スペース・ファミリのどれかです。static int
TYPE_HSV
HSVカラー・スペース・ファミリのどれかです。static int
TYPE_Lab
Labカラー・スペース・ファミリのどれかです。static int
TYPE_Luv
Luvカラー・スペース・ファミリのどれかです。static int
TYPE_RGB
RGBカラー・スペース・ファミリのどれかです。static int
TYPE_XYZ
XYZカラー・スペース・ファミリのどれかです。static int
TYPE_YCbCr
YCbCrカラー・スペース・ファミリのどれかです。static int
TYPE_Yxy
Yxyカラー・スペース・ファミリのどれかです。
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
ColorSpace(int type, int numcomponents)
指定されたカラー・スペース・タイプおよび成分数で、ColorSpaceオブジェクトを構築します。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract float[]
fromCIEXYZ(float[] colorvalue)
CS_CIEXYZ変換カラー・スペースにあると考えられるカラー値をこのColorSpaceに変換します。abstract float[]
fromRGB(float[] rgbvalue)
デフォルトのCS_sRGBカラー・スペースにあると考えられるカラー値をこのColorSpaceに変換します。static ColorSpace
getInstance(int colorspace)
特定の定義済みカラー・スペースの1つを表すColorSpaceを返します。float
getMaxValue(int component)
指定された成分について、標準化された成分値の最大値を返します。float
getMinValue(int component)
指定された成分について、標準化された成分値の最小値を返します。String
getName(int idx)
指定された成分インデックスで、成分の名前を返します。int
getNumComponents()
このColorSpaceの成分数を返します。int
getType()
このColorSpaceのカラー・スペース・タイプ(TYPE_RGB、TYPE_XYZなど)を返します。boolean
isCS_sRGB()
ColorSpaceがCS_sRGBの場合にtrueを返します。abstract float[]
toCIEXYZ(float[] colorvalue)
このColorSpaceにあると考えられるカラー値をCS_CIEXYZ変換カラー・スペースに変換します。abstract float[]
toRGB(float[] colorvalue)
このColorSpaceにあると考えられるカラー値をデフォルトのCS_sRGBカラー・スペースの値に変換します。
-
-
-
フィールドの詳細
-
CS_sRGB
@Native public static final int CS_sRGB
http://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原色に基づいていますが、線形のトーン・リプロダクション・カーブを持ちます。- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
getInstance
public static ColorSpace getInstance(int colorspace)
特定の定義済みカラー・スペースの1つを表すColorSpaceを返します。- パラメータ:
colorspace
- 定義済みクラス定数(CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY、CS_PYCCなど)のいずれかで識別される特定のカラー・スペース- 戻り値:
- 要求された
ColorSpace
オブジェクト
-
isCS_sRGB
public boolean isCS_sRGB()
ColorSpaceがCS_sRGBの場合にtrueを返します。- 戻り値:
- これが
CS_sRGB
カラー・スペースである場合はtrue
、そうでない場合はfalse
-
toRGB
public abstract float[] toRGB(float[] colorvalue)
このColorSpaceにあると考えられるカラー値をデフォルトのCS_sRGBカラー・スペースの値に変換します。このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。 カラー値の比色変換を実行するには、最初にこのカラー・スペースの
toCIEXYZ
メソッドを使用して入力カラー・スペースからCS_CIEXYZカラー・スペースに変換し、次にCS_sRGBカラー・スペースのfromCIEXYZ
メソッドを使用してCS_CIEXYZから出力カラー・スペースに変換するようにしてください。 詳細は、toCIEXYZ
およびfromCIEXYZ
を参照してください。- パラメータ:
colorvalue
- 少なくともこのColorSpace内の成分の数の長さを持つfloat配列- 戻り値:
- 長さが3のfloat配列
- 例外:
ArrayIndexOutOfBoundsException
- 配列の長さがこのColorSpace内の成分の数に満たない場合
-
fromRGB
public abstract float[] fromRGB(float[] rgbvalue)
デフォルトのCS_sRGBカラー・スペースにあると考えられるカラー値をこのColorSpaceに変換します。このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。 カラー値の比色変換を実行するには、最初にCS_sRGBカラー・スペースの
toCIEXYZ
メソッドを使用して入力カラー・スペースからCS_CIEXYZカラー・スペースに変換し、次にこのカラー・スペースのfromCIEXYZ
メソッドを使用してCS_CIEXYZから出力カラー・スペースに変換するようにしてください。 詳細は、toCIEXYZ
およびfromCIEXYZ
を参照してください。- パラメータ:
rgbvalue
- 少なくとも3の長さを持つfloat配列- 戻り値:
- このColorSpaceの成分数と同じ長さのfloat配列
- 例外:
ArrayIndexOutOfBoundsException
- 配列の長さが3に満たない場合
-
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内の成分の数の長さを持つfloat配列- 戻り値:
- 長さが3のfloat配列
- 例外:
ArrayIndexOutOfBoundsException
- 配列の長さがこのColorSpace内の成分の数に満たない場合。
-
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の成分数と同じ長さのfloat配列
- 例外:
ArrayIndexOutOfBoundsException
- 配列の長さが3に満たない場合
-
getType
public int getType()
このColorSpaceのカラー・スペース・タイプ(TYPE_RGB、TYPE_XYZなど)を返します。 タイプはカラー・スペースの成分数およびその解釈を定義します。たとえば、TYPE_RGBは3つの成分(赤、緑、および青)を持つカラー・スペースを識別します。 領域の特定の色の特性(原色の色度など)は定義されません。- 戻り値:
- この
ColorSpace
のタイプを表すタイプ定数
-
getNumComponents
public int getNumComponents()
このColorSpaceの成分数を返します。- 戻り値:
- この
ColorSpace
内の成分数。
-
getName
public String getName(int idx)
指定された成分インデックスで、成分の名前を返します。- パラメータ:
idx
- 成分インデックス- 戻り値:
- 指定されたインデックスの成分の名前
- 例外:
IllegalArgumentException
-idx
が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
-
-