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カラー・スペースの値に変換します。
|
@Native public static final int CS_sRGB
@Native public static final int CS_LINEAR_RGB
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, 2014, Oracle and/or its affiliates. All rights reserved.