JavaTM 2 Platform
Std. Ed. v1.3

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 カラースペースの間で Color を変換するメソッドがあります。

カラースペースタイプ (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)
      注: この変換領域の ICC プロファイルを作成する開発者は
          以下が適用できます。3x3 マトリックスパラメータに詰め
          込まれた単純 Von Kries 白点補正を使い、フレアとサラウンド効果
          とをこの 3 つの 1 次元ルックアップテーブルに作り込みます
          (モニターのために最小モデルを使うことを仮定
          する)。

関連項目:
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 を返します。
 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 オブジェクトを構築します。
メソッドの詳細

getInstance

public static ColorSpace getInstance(int colorspace)
特定の定義済みカラースペースの 1 つを表す ColorSpace を返します。
パラメータ:
colorspace - 定義済みクラス定数 (CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY、または CS_PYCC など) の 1 つで識別される特定のカラースペース

isCS_sRGB

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

toRGB

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

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

パラメータ:
colorvalue - この ColorSpace の成分数と少なくとも同じ長さの float 配列
戻り値:
長さが 3 の float 配列

fromRGB

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

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

パラメータ:
rgbvalue - 少なくとも 3 の長さを持つ float 配列
戻り値:
この ColorSpace の成分数と同じ長さの float 配列

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 配列

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 配列

getType

public int getType()
この ColorSpace のカラースペースタイプ (TYPE_RGB、TYPE_XYZ など) を返します。タイプは、カラースペースの成分数およびその解釈を定義します。たとえば TYPE_RGB は、3 つの成分 (赤、緑、青) を持つカラースペースを識別します。タイプは、領域の特定の色の特性 (原色の色度など) は定義しません。

getNumComponents

public int getNumComponents()
この ColorSpace の成分数を返します。

getName

public String getName(int idx)
指定された成分インデックスで、成分の名前を返します。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.