- 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 intCS_CIEXYZ上で定義されたCIEXYZ変換カラー・スペースです。static intCS_GRAY組込みリニア・グレー・スケール・カラー・スペースです。static intCS_LINEAR_RGB組込みリニアRGBカラー・スペースです。static intCS_PYCCPhoto YCC変換カラー・スペースです。static intCS_sRGBhttp://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlで定義されているsRGBカラー・スペースです。static intTYPE_2CLRジェネリック2成分カラー・スペースです。static intTYPE_3CLRジェネリック3成分カラー・スペースです。static intTYPE_4CLRジェネリック4成分カラー・スペースです。static intTYPE_5CLRジェネリック5成分カラー・スペースです。static intTYPE_6CLRジェネリック6成分カラー・スペースです。static intTYPE_7CLRジェネリック7成分カラー・スペースです。static intTYPE_8CLRジェネリック8成分カラー・スペースです。static intTYPE_9CLRジェネリック9成分カラー・スペースです。static intTYPE_ACLRジェネリック10成分カラー・スペースです。static intTYPE_BCLRジェネリック11成分カラー・スペースです。static intTYPE_CCLRジェネリック12成分カラー・スペースです。static intTYPE_CMYCMYカラー・スペース・ファミリのどれかです。static intTYPE_CMYKCMYKカラー・スペース・ファミリのどれかです。static intTYPE_DCLRジェネリック13成分カラー・スペースです。static intTYPE_ECLRジェネリック14成分カラー・スペースです。static intTYPE_FCLRジェネリック15成分カラー・スペースです。static intTYPE_GRAYGRAYカラー・スペース・ファミリのどれかです。static intTYPE_HLSHLSカラー・スペース・ファミリのどれかです。static intTYPE_HSVHSVカラー・スペース・ファミリのどれかです。static intTYPE_LabLabカラー・スペース・ファミリのどれかです。static intTYPE_LuvLuvカラー・スペース・ファミリのどれかです。static intTYPE_RGBRGBカラー・スペース・ファミリのどれかです。static intTYPE_XYZXYZカラー・スペース・ファミリのどれかです。static intTYPE_YCbCrYCbCrカラー・スペース・ファミリのどれかです。static intTYPE_YxyYxyカラー・スペース・ファミリのどれかです。
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedColorSpace(int type, int numcomponents)指定されたカラー・スペース・タイプおよび成分数で、ColorSpaceオブジェクトを構築します。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract float[]fromCIEXYZ(float[] colorvalue)CS_CIEXYZ変換カラー・スペースにあると考えられるカラー値をこのColorSpaceに変換します。abstract float[]fromRGB(float[] rgbvalue)デフォルトのCS_sRGBカラー・スペースにあると考えられるカラー値をこのColorSpaceに変換します。static ColorSpacegetInstance(int colorspace)特定の定義済みカラー・スペースの1つを表すColorSpaceを返します。floatgetMaxValue(int component)指定された成分について、標準化された成分値の最大値を返します。floatgetMinValue(int component)指定された成分について、標準化された成分値の最小値を返します。StringgetName(int idx)指定された成分インデックスで、成分の名前を返します。intgetNumComponents()このColorSpaceの成分数を返します。intgetType()このColorSpaceのカラー・スペース・タイプ(TYPE_RGB、TYPE_XYZなど)を返します。booleanisCS_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
-
-