モジュール java.desktop
パッケージ java.awt.color

クラスColorSpace

java.lang.Object
java.awt.color.ColorSpace
すべての実装されたインタフェース:
Serializable
直系の既知のサブクラス:
ICC_ColorSpace

public abstract class ColorSpace extends Object implements Serializable
この抽象クラスは、Colorオブジェクトの特定のカラー・スペースを特定するためのカラー・スペース・タグとして機能するため、またはColorModelオブジェクト(ImageBufferedImageまたはGraphicsDeviceを介した)として機能するために使用されます。 このクラスには、特定のカラー・スペースとsRGB、および特定のカラー・スペースと明確に定義されたCIEXYZカラー・スペースの間でカラーを変換するメソッドがあります。

このクラスのメソッド用に、色は、各ColorSpaceによって定義される正規化された範囲内で浮動小数として表される色コンポーネントの配列として表されます。 ColorSpaces (例: sRGB)の多くの場合、範囲は0.0から1.0です。 ただし、ColorSpacesの中には、異なる範囲の値を持つコンポーネントが含まれているものがあります。 標準化された値の最小値と最大値は、成分ごとに用意されているメソッドを使用して照会できます。

カラー・スペース・タイプ(例、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).

 

関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    上で定義した組込みCIEXYZ変換カラー・スペース。
    static final int
    組込みリニア・グレー・スケール・カラー・スペースです。
    static final int
    ビルトインの線形RGBカラー・スペースです。
    static final int
    組み込みのフォトYCC変換カラー・スペース。
    static final int
    http://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlで定義されている組込みsRGBカラー・スペース。
    static final int
    ジェネリック2成分カラー・スペースです。
    static final int
    ジェネリック3成分カラー・スペースです。
    static final int
    ジェネリック4成分カラー・スペースです。
    static final int
    ジェネリック5成分カラー・スペースです。
    static final int
    ジェネリック6成分カラー・スペースです。
    static final int
    ジェネリック7成分カラー・スペースです。
    static final int
    ジェネリック8成分カラー・スペースです。
    static final int
    ジェネリック9成分カラー・スペースです。
    static final int
    ジェネリック10成分カラー・スペースです。
    static final int
    ジェネリック11成分カラー・スペースです。
    static final int
    ジェネリック12成分カラー・スペースです。
    static final int
    CMYカラー・スペース・ファミリのどれかです。
    static final int
    CMYKカラー・スペース・ファミリのどれかです。
    static final int
    ジェネリック13成分カラー・スペースです。
    static final int
    ジェネリック14成分カラー・スペースです。
    static final int
    ジェネリック15成分カラー・スペースです。
    static final int
    GRAYカラー・スペース・ファミリのどれかです。
    static final int
    HLSカラー・スペース・ファミリのどれかです。
    static final int
    HSVカラー・スペース・ファミリのどれかです。
    static final int
    Labカラー・スペース・ファミリのどれかです。
    static final int
    Luvカラー・スペース・ファミリのどれかです。
    static final int
    RGBカラー・スペース・ファミリのどれかです。
    static final int
    XYZカラー・スペース・ファミリのどれかです。
    static final int
    YCbCrカラー・スペース・ファミリのどれかです。
    static final int
    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 cspace)
    特定の事前定義済のカラー・スペースの1つを表すColorSpaceを返します。
    float
    getMaxValue(int component)
    指定された成分について、標準化された成分値の最大値を返します。
    float
    getMinValue(int component)
    指定された成分について、標準化された成分値の最小値を返します。
    getName(int component)
    指定された成分インデックスで、成分の名前を返します。
    int
    このColorSpaceの成分数を返します。
    int
    このColorSpace (例: TYPE_RGBTYPE_XYZ、...)のカラー・スペース・タイプを返します。
    boolean
    ColorSpaceCS_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
  • フィールド詳細

  • コンストラクタの詳細

    • ColorSpace

      protected ColorSpace(int type, int numComponents)
      カラー・スペース型およびコンポーネント数で指定されたColorSpaceオブジェクトを構築します。
      パラメータ:
      type - ColorSpaceタイプ定数のいずれか
      numComponents - カラー・スペース内のコンポーネントの数
  • メソッドの詳細

    • getInstance

      public static ColorSpace getInstance(int cspace)
      特定の事前定義済のカラー・スペースの1つを表すColorSpaceを返します。
      パラメータ:
      cspace - 事前定義されたクラス定数(例: CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAYCS_PYCC)のいずれかで識別される特定の色空間
      戻り値:
      要求されたColorSpaceオブジェクト
    • isCS_sRGB

      public boolean isCS_sRGB()
      ColorSpaceCS_sRGBの場合はtrueを返します。
      戻り値:
      これがCS_sRGBカラー・スペースである場合はtrue、そうでない場合はfalse
    • toRGB

      public abstract float[] toRGB(float[] colorvalue)
      ColorSpaceで想定された色の値をデフォルトのCS_sRGBカラー・スペースの値に変換します。

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

      パラメータ:
      colorvalue - 長さが少なくともこのColorSpaceのコンポーネント数である浮動小数配列
      戻り値:
      長さが3のfloat配列
      例外:
      ArrayIndexOutOfBoundsException - 配列の長さがこのColorSpace内のコンポーネントの数以上でない場合
    • fromRGB

      public abstract float[] fromRGB(float[] rgbvalue)
      色の値をデフォルトのCS_sRGBカラー・スペースとみなし、このColorSpaceに変換します。

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

      パラメータ:
      rgbvalue - 少なくとも3の長さを持つfloat配列
      戻り値:
      このColorSpaceのコンポーネント数と長さが等しい浮動小数配列
      例外:
      ArrayIndexOutOfBoundsException - 配列の長さが3に満たない場合
    • 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のコンポーネント数である浮動小数配列
      戻り値:
      長さが3のfloat配列
      例外:
      ArrayIndexOutOfBoundsException - 配列の長さが、このColorSpace内のコンポーネントの数以上でない場合。
    • 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のコンポーネント数と長さが等しい浮動小数配列
      例外:
      ArrayIndexOutOfBoundsException - 配列の長さが3に満たない場合
    • getType

      public int getType()
      このColorSpace (例: TYPE_RGBTYPE_XYZ、...)のカラー・スペース・タイプを返します。 このタイプでは、カラー・スペースのコンポーネント数および解釈を定義します。たとえば、TYPE_RGBは、3つのコンポーネントでカラー・スペースを識別 - 赤、緑および青。 領域の特定の色の特性(原色の色度など)は定義されません。
      戻り値:
      このColorSpaceのタイプを表すタイプ定数
    • getNumComponents

      public int getNumComponents()
      このColorSpaceの成分数を返します。
      戻り値:
      このColorSpace内のコンポーネントの数
    • getName

      public String getName(int component)
      指定された成分インデックスで、成分の名前を返します。
      パラメータ:
      component - 成分インデックス
      戻り値:
      指定されたインデックスの成分の名前
      例外:
      IllegalArgumentException - componentが0より小さいか、numComponents - 1より大きい場合
    • getMinValue

      public float getMinValue(int component)
      指定された成分について、標準化された成分値の最小値を返します。 この抽象クラスのデフォルトの実装は、すべての成分に対して0.0を返します。 必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。
      パラメータ:
      component - 成分インデックス
      戻り値:
      標準化された成分値の最小値
      例外:
      IllegalArgumentException - コンポーネントが0より小さいか、numComponents - 1より大きい場合
      導入されたバージョン:
      1.4
    • getMaxValue

      public float getMaxValue(int component)
      指定された成分について、標準化された成分値の最大値を返します。 この抽象クラスのデフォルトの実装は、すべての成分に対して1.0を返します。 必要に応じて、サブクラスがこのメソッドをオーバーライドする必要があります。
      パラメータ:
      component - 成分インデックス
      戻り値:
      標準化された成分値の最大値
      例外:
      IllegalArgumentException - コンポーネントが0より小さいか、numComponents - 1より大きい場合
      導入されたバージョン:
      1.4