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、そうでない場合はfalsepublic 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。