public abstract class ColorSpace extends Object implements Serializable
このクラスのメソッドでは、カラーは色成分の配列として表されます。 色成分は、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 オブジェクトを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
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 カラースペースの値に変換します。
|
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
タイプ定数のいずれかnumcomponents
- カラースペース内の成分の数public static ColorSpace getInstance(int colorspace)
colorspace
- 定義済みクラス定数 (CS_sRGB、CS_LINEAR_RGB、CS_CIEXYZ、CS_GRAY、CS_PYCC など) のいずれかで識別される特定のカラースペース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
- 成分インデックスIllegalArgumentException
- idx
が 0 より小さいか、または numComponents - 1 より大きい場合public float getMinValue(int component)
component
- 成分インデックスIllegalArgumentException
- 成分が 0 より小さいか、または numComponents - 1 より大きい場合public float getMaxValue(int component)
component
- 成分インデックスIllegalArgumentException
- 成分が 0 より小さいか、または numComponents - 1 より大きい場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.