JavaTM 2
Platform
Std. Ed. v1.4.0

java.awt.color
クラス ColorSpace

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
          sRGB カラースペースで、 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html で定義されています。
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 オブジェクトを構築します。
 
メソッドの概要
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 カラースペースの値に変換します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TYPE_XYZ

public static final int TYPE_XYZ
XYZ カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_Lab

public static final int TYPE_Lab
Lab カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_Luv

public static final int TYPE_Luv
Luv カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_YCbCr

public static final int TYPE_YCbCr
YCbCr カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_Yxy

public static final int TYPE_Yxy
Yxy カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_RGB

public static final int TYPE_RGB
RGB カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_GRAY

public static final int TYPE_GRAY
GRAY カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_HSV

public static final int TYPE_HSV
HSV カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_HLS

public static final int TYPE_HLS
HLS カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_CMYK

public static final int TYPE_CMYK
CMYK カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_CMY

public static final int TYPE_CMY
CMY カラースペースファミリのどれかです。

関連項目:
定数フィールド値

TYPE_2CLR

public static final int TYPE_2CLR
汎用 2 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_3CLR

public static final int TYPE_3CLR
汎用 3 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_4CLR

public static final int TYPE_4CLR
汎用 4 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_5CLR

public static final int TYPE_5CLR
汎用 5 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_6CLR

public static final int TYPE_6CLR
汎用 6 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_7CLR

public static final int TYPE_7CLR
汎用 7 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_8CLR

public static final int TYPE_8CLR
汎用 8 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_9CLR

public static final int TYPE_9CLR
汎用 9 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_ACLR

public static final int TYPE_ACLR
汎用 10 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_BCLR

public static final int TYPE_BCLR
汎用 11 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_CCLR

public static final int TYPE_CCLR
汎用 12 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_DCLR

public static final int TYPE_DCLR
汎用 13 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_ECLR

public static final int TYPE_ECLR
汎用 14 成分カラースペースです。

関連項目:
定数フィールド値

TYPE_FCLR

public static final int TYPE_FCLR
汎用 15 成分カラースペースです。

関連項目:
定数フィールド値

CS_sRGB

public static final int CS_sRGB
sRGB カラースペースで、 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html で定義されています。

関連項目:
定数フィールド値

CS_LINEAR_RGB

public static final int CS_LINEAR_RGB
組み込みリニア RGB カラースペースです。この領域は、CS_sRGB と同じ RGB 原色に基づいていますが、線形のトーンリプロダクションカーブを持ちます。

関連項目:
定数フィールド値

CS_CIEXYZ

public static final int CS_CIEXYZ
上で定義された CIEXYZ 変換カラースペースです。

関連項目:
定数フィールド値

CS_PYCC

public static final int CS_PYCC
Photo YCC 変換カラースペースです。

関連項目:
定数フィールド値

CS_GRAY

public static final int CS_GRAY
組み込みリニアグレースケールカラースペースです。

関連項目:
定数フィールド値
コンストラクタの詳細

ColorSpace

protected ColorSpace(int type,
                     int numcomponents)
指定されたカラースペースタイプおよび成分数で、ColorSpace オブジェクトを構築します。

パラメータ:
type - ColorSpace タイプ定数の 1 つ
numcomponents - カラースペースの成分数
メソッドの詳細

getInstance

public static ColorSpace getInstance(int colorspace)
特定の定義済みカラースペースの 1 つを表す ColorSpace を返します。

パラメータ:
colorspace - 定義済みクラス定数 (CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY、または CS_PYCC など) の 1 つで識別される特定のカラースペース
戻り値:
要求された ColorSpace オブジェクト

isCS_sRGB

public boolean isCS_sRGB()
ColorSpace が CS_sRGB の場合に true を返します。

戻り値:
ColorSpace が CS_sRGB の場合は true、そうでない場合は false

toRGB

public abstract float[] toRGB(float[] colorvalue)
この ColorSpace にあると考えられるカラー値をデフォルトの CS_sRGB カラースペースの値に変換します。

このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。カラー値を比色変換するには、このカラースペースの toCIEXYZ メソッドを使って、最初に入力カラースペースから CS_CIEXYZ カラースペースに変換して、次に CS_sRGB カラースペースの fromCIEXYZ メソッドを使い、CS_CIEXYZ を出力カラースペースに変換します。詳細については toCIEXYZfromCIEXYZ を参照してください。

パラメータ:
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 を出力カラースペースに変換します。詳細については toCIEXYZfromCIEXYZ を参照してください。

パラメータ:
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_ColorSpacetoCIEXYZ メソッドを参照してください。

パラメータ:
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_ColorSpacefromCIEXYZ メソッドを参照してください。

パラメータ:
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 - 成分インデックス
戻り値:
指定されたインデックスの成分の名前

getMinValue

public float getMinValue(int component)
指定された成分について、標準化された色成分値の最小値を返します。この abstract クラスのデフォルトの実装は、すべての成分に対して 0.0 を返します。必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。

パラメータ:
component - 成分インデックス
戻り値:
標準化された成分値の最小値
例外:
IllegalArgumentException - 成分が 0 より小さいか、numComponents - 1 より大きい場合
導入されたバージョン:
1.4

getMaxValue

public float getMaxValue(int component)
指定された成分について、標準化された色成分値の最大値を返します。この abstract クラスのデフォルトの実装は、すべての成分に対して 1.0 を返します。必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。

パラメータ:
component - 成分インデックス
戻り値:
標準化された成分値の最大値
例外:
IllegalArgumentException - 成分が 0 より小さいか、numComponents - 1 より大きい場合
導入されたバージョン:
1.4

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.