|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.color.ColorSpace
この抽象クラスは、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 |
フィールドの詳細 |
public static final int TYPE_XYZ
public static final int TYPE_Lab
public static final int TYPE_Luv
public static final int TYPE_YCbCr
public static final int TYPE_Yxy
public static final int TYPE_RGB
public static final int TYPE_GRAY
public static final int TYPE_HSV
public static final int TYPE_HLS
public static final int TYPE_CMYK
public static final int TYPE_CMY
public static final int TYPE_2CLR
public static final int TYPE_3CLR
public static final int TYPE_4CLR
public static final int TYPE_5CLR
public static final int TYPE_6CLR
public static final int TYPE_7CLR
public static final int TYPE_8CLR
public static final int TYPE_9CLR
public static final int TYPE_ACLR
public static final int TYPE_BCLR
public static final int TYPE_CCLR
public static final int TYPE_DCLR
public static final int TYPE_ECLR
public static final int TYPE_FCLR
public static final int CS_sRGB
public static final int CS_LINEAR_RGB
public static final int CS_CIEXYZ
public static final int CS_PYCC
public static final int CS_GRAY
コンストラクタの詳細 |
protected ColorSpace(int type, int numcomponents)
type
- ColorSpace
タイプ定数の 1 つnumcomponents
- カラースペースの成分数メソッドの詳細 |
public static ColorSpace getInstance(int colorspace)
colorspace
- 定義済みクラス定数 (CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY、または CS_PYCC など) の 1 つで識別される特定のカラースペース
ColorSpace
オブジェクトpublic boolean isCS_sRGB()
CS_sRGB
の場合は true
、そうでない場合は false
public abstract float[] toRGB(float[] colorvalue)
このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。カラー値を比色変換するには、このカラースペースの toCIEXYZ
メソッドを使って、最初に入力カラースペースから CS_CIEXYZ カラースペースに変換して、次に CS_sRGB カラースペースの fromCIEXYZ
メソッドを使い、CS_CIEXYZ を出力カラースペースに変換します。詳細については toCIEXYZ
と fromCIEXYZ
を参照してください。
colorvalue
- この ColorSpace の成分数と少なくとも同じ長さの float 配列
ArrayIndexOutOfBoundsException
- 配列の長さが、この ColorSpace の成分数より小さい場合public abstract float[] fromRGB(float[] rgbvalue)
このメソッドでは、入力と出力の色がもっとも知覚的に近い色を作成できるように設計されたアルゴリズムを使って、カラー値を変換します。カラー値を比色変換するには、CS_sRGB カラースペースの toCIEXYZ
メソッドを使って、最初に入力カラースペースを CS_CIEXYZ カラースペースに変換して、次にこのカラースペースの fromCIEXYZ
メソッドを使い、CS_CIEXYZ を出力カラースペースに変換します。詳細については toCIEXYZ
と fromCIEXYZ
を参照してください。
rgbvalue
- 少なくとも 3 の長さを持つ float 配列
ArrayIndexOutOfBoundsException
- 配列の長さが 3 より小さい場合public abstract float[] toCIEXYZ(float[] colorvalue)
このメソッドは、International Color Consortium 基準で定義されている相対色度測定を使ってカラー値を変換します。すなわち、このメソッドが返す XYZ の値は CS_CIEXYZ カラースペースの D50 白点を基準にして表示されます。この表現は、入力カラースペースから CS_CIEXYZ 領域へ、次に出力カラースペースに変換される、2 ステップのカラー変換処理において便利です。この表現は、指定されたカラー値から色度計を使って測定する XYZ 値と同じではありません。現在 CIE 推奨の計算方法を使って測定されている XYZ 値を計算するには、さらに詳細な変換が必要です。詳細については、ICC_ColorSpace
の toCIEXYZ
メソッドを参照してください。
colorvalue
- この ColorSpace の成分数と少なくとも同じ長さの float 配列
ArrayIndexOutOfBoundsException
- 配列の長さが、この ColorSpace の成分数より小さい場合public abstract float[] fromCIEXYZ(float[] colorvalue)
このメソッドは、International Color Consortium 基準で定義されている相対色度測定を使ってカラー値を変換します。すなわち、このメソッドがとる XYZ の引数値は CS_CIEXYZ カラースペースの D50 白点を基準にして表示されます。この表現は、入力カラースペースから CS_CIEXYZ 領域へ、次に出力カラースペースに変換される、2 ステップのカラー変換処理において便利です。このメソッドが返すカラー値は、色度計で測定するときにメソッドに渡される XYZ 値を生成するカラー値ではありません。現在 CIE 推奨の計算方法を使った測定値に対応する XYZ 値を計算済みの場合は、その値がこのメソッドに渡される前に D50 相対値に変換する必要があります。詳細については、ICC_ColorSpace
の fromCIEXYZ
メソッドを参照してください。
colorvalue
- 少なくとも 3 の長さを持つ float 配列
ArrayIndexOutOfBoundsException
- 配列の長さが 3 より小さい場合public int getType()
ColorSpace
のタイプを表すタイプ定数public int getNumComponents()
ColorSpace
の成分数public String getName(int idx)
idx
- 成分インデックス
public float getMinValue(int component)
component
- 成分インデックス
IllegalArgumentException
- 成分が 0 より小さいか、numComponents - 1 より大きい場合public float getMaxValue(int component)
component
- 成分インデックス
IllegalArgumentException
- 成分が 0 より小さいか、numComponents - 1 より大きい場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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.