public class Color extends Object implements Paint, Serializable
Color
クラスは、デフォルトのsRGBカラー・スペース内の色、またはColorSpace
で識別される任意のカラー・スペース内の色をカプセル化するために使用されます。どの色にも、1.0の暗黙のアルファ値、またはコンストラクタで提供される明示的なアルファ値があります。アルファ値は色の透過性を定義し、0.0 - 1.0または0 - 255の範囲のfloat値で表すことができます。1.0あるいは255というアルファ値はその色が完全に不透明であることを意味し、0あるいは0.0というアルファ値はその色が完全に透明であることを意味します。明示的なアルファでColor
を構築する場合、あるいはColor
の色成分またはアルファ成分を取得する場合、色成分とアルファ成分があらかじめ乗算されている可能性はありません。
Java 2D (tm) APIのデフォルトのカラー・スペースは、標準のRGBカラー・スペースとして推奨されているsRGBです。sRGBの詳細は、http://www.w3.org/pub/WWW/Graphics/Color/sRGB.htmlを参照してください。
ColorSpace
, AlphaComposite
, 直列化された形式修飾子と型 | フィールドと説明 |
---|---|
static Color |
black
黒を表します。
|
static Color |
BLACK
黒を表します。
|
static Color |
blue
青を表します。
|
static Color |
BLUE
青を表します。
|
static Color |
cyan
シアンを表します。
|
static Color |
CYAN
シアンを表します。
|
static Color |
DARK_GRAY
ダーク・グレーを表します。
|
static Color |
darkGray
ダーク・グレーを表します。
|
static Color |
gray
グレーを表します。
|
static Color |
GRAY
グレーを表します。
|
static Color |
green
緑を表します。
|
static Color |
GREEN
緑を表します。
|
static Color |
LIGHT_GRAY
ライト・グレーを表します。
|
static Color |
lightGray
ライト・グレーを表します。
|
static Color |
magenta
マゼンタを表します。
|
static Color |
MAGENTA
マゼンタを表します。
|
static Color |
orange
オレンジを表します。
|
static Color |
ORANGE
オレンジを表します。
|
static Color |
pink
ピンクを表します。
|
static Color |
PINK
ピンクを表します。
|
static Color |
red
赤を表します。
|
static Color |
RED
赤を表します。
|
static Color |
white
白を表します。
|
static Color |
WHITE
白を表します。
|
static Color |
yellow
黄を表します。
|
static Color |
YELLOW
黄を表します。
|
BITMASK, OPAQUE, TRANSLUCENT
コンストラクタと説明 |
---|
Color(ColorSpace cspace, float[] components, float alpha)
float 配列で指定された色成分と指定されたアルファを使用して、指定されたColorSpace 内に色を作成します。 |
Color(float r, float g, float b)
範囲(0.0 - 1.0)の指定された赤、緑、青の値を使って、不透明なsRGBカラーを生成します。
|
Color(float r, float g, float b, float a)
範囲(0.0 - 1.0)の指定された赤、緑、青、およびアルファ値を使ってsRGBカラーを生成します。
|
Color(int rgb)
ビット16-23の赤色成分、ビット8-15の緑色成分、およびビット0-7の青色成分から合成された、指定されたRGB値を使って、不透明なsRGBカラーを生成します。
|
Color(int rgba, boolean hasalpha)
ビット24 - 31のアルファ成分、ビット16 - 23の赤色成分、ビット8 - 15の緑色成分、およびビット0 - 7の青色成分で構成される、指定されたRGBA値を持つ、sRGBカラーを生成します。
|
Color(int r, int g, int b)
範囲(0 - 255)の指定された赤、緑、青の値を使って、不透明なsRGBカラーを生成します。
|
Color(int r, int g, int b, int a)
範囲(0 - 255)の指定された赤、緑、青、およびアルファ値を使ってsRGBカラーを生成します。
|
修飾子と型 | メソッドと説明 |
---|---|
Color |
brighter()
この
Color をより明るくした新しいColor を作成します。 |
PaintContext |
createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
塗りつぶした色のフィールド・パターンを生成するために使用される
PaintContext を作成して返します。 |
Color |
darker()
この
Color をより暗くした新しいColor を作成します。 |
static Color |
decode(String nm)
String を整数に変換し、指定された不透明なColor を返します。 |
boolean |
equals(Object obj)
別のオブジェクトがこの
Color に等しいかどうかを判定します。 |
int |
getAlpha()
0 - 255の範囲にあるアルファ成分を返します。
|
int |
getBlue()
デフォルトのsRGB領域の0 - 255の範囲にある青色成分を返します。
|
static Color |
getColor(String nm)
システム・プロパティの色を検索します。
|
static Color |
getColor(String nm, Color v)
システム・プロパティの色を検索します。
|
static Color |
getColor(String nm, int v)
システム・プロパティの色を検索します。
|
float[] |
getColorComponents(ColorSpace cspace, float[] compArray)
cspace パラメータによって指定されたColorSpace 内にある、Color の色成分のみを含むfloat 配列を返します。 |
float[] |
getColorComponents(float[] compArray)
Color のColorSpace 内にある、Color の色成分のみを含むfloat 配列を返します。 |
ColorSpace |
getColorSpace()
この
Color のColorSpace を返します。 |
float[] |
getComponents(ColorSpace cspace, float[] compArray)
cspace パラメータによって指定されたColorSpace 内にある、Color の色成分およびアルファ成分を含むfloat 配列を返します。 |
float[] |
getComponents(float[] compArray)
Color のColorSpace 内にある、Color の色成分およびアルファ成分を含むfloat 配列を返します。 |
int |
getGreen()
デフォルトのsRGB領域の0 - 255の範囲にある緑色成分を返します。
|
static Color |
getHSBColor(float h, float s, float b)
HSBカラー・モデルに指定された値に基づいて、
Color オブジェクトを作成します。 |
int |
getRed()
デフォルトのsRGB領域の0 - 255の範囲にある赤色成分を返します。
|
int |
getRGB()
デフォルトのsRGB
ColorModel 内の色を表すRGB値を返します。 |
float[] |
getRGBColorComponents(float[] compArray)
デフォルトのsRGBカラー・スペース内にある、
Color の色成分のみを含むfloat 配列を返します。 |
float[] |
getRGBComponents(float[] compArray)
デフォルトのsRGBカラー・スペースで表された、
Color の色成分およびアルファ成分を含むfloat 配列を返します。 |
int |
getTransparency()
この
Color の透明度モードを返します。 |
int |
hashCode()
この
Color のハッシュ・コードを計算します。 |
static int |
HSBtoRGB(float hue, float saturation, float brightness)
HSBモデルによって指定される色の成分を、対応するデフォルトのRGBモデルの値のセットに変換します。
|
static float[] |
RGBtoHSB(int r, int g, int b, float[] hsbvals)
デフォルトのRGBモデルによって指定された色の成分を、HSBモデルの3つの成分である色相、彩度、明度の値の対応するセットに変換します。
|
String |
toString()
この
Color の文字列表現を返します。 |
public static final Color white
public static final Color WHITE
public static final Color lightGray
public static final Color LIGHT_GRAY
public static final Color gray
public static final Color GRAY
public static final Color darkGray
public static final Color DARK_GRAY
public static final Color black
public static final Color BLACK
public static final Color red
public static final Color RED
public static final Color pink
public static final Color PINK
public static final Color orange
public static final Color ORANGE
public static final Color yellow
public static final Color YELLOW
public static final Color green
public static final Color GREEN
public static final Color magenta
public static final Color MAGENTA
public static final Color cyan
public static final Color CYAN
public static final Color blue
public static final Color BLUE
public Color(int r, int g, int b)
r
- 赤色成分g
- 緑色成分b
- 青色成分IllegalArgumentException
- r
、g
、またはb
が0から255までの範囲(両端を含む)外にある場合getRed()
, getGreen()
, getBlue()
, getRGB()
@ConstructorProperties(value={"red","green","blue","alpha"}) public Color(int r, int g, int b, int a)
r
- 赤色成分g
- 緑色成分b
- 青色成分a
- アルファ成分IllegalArgumentException
- r
、g
、b
、またはa
が0から255までの範囲(両端を含む)外にある場合getRed()
, getGreen()
, getBlue()
, getAlpha()
, getRGB()
public Color(int rgb)
rgb
- 合成されたRGB成分ColorModel.getRGBdefault()
, getRed()
, getGreen()
, getBlue()
, getRGB()
public Color(int rgba, boolean hasalpha)
hasalpha
引数がfalse
の場合、アルファはデフォルトで255に設定されます。rgba
- 合成されたRGBA成分hasalpha
- アルファ・ビットが有効な場合はtrue
、そうでない場合はfalse
ColorModel.getRGBdefault()
, getRed()
, getGreen()
, getBlue()
, getAlpha()
, getRGB()
public Color(float r, float g, float b)
r
- 赤色成分g
- 緑色成分b
- 青色成分IllegalArgumentException
- r
、g
、またはb
が0.0から1.0までの範囲(両端を含む)外にある場合getRed()
, getGreen()
, getBlue()
, getRGB()
public Color(float r, float g, float b, float a)
r
- 赤色成分g
- 緑色成分b
- 青色成分a
- アルファ成分IllegalArgumentException
- r
、g
、b
、またはa
が0.0から1.0までの範囲(両端を含む)外にある場合getRed()
, getGreen()
, getBlue()
, getAlpha()
, getRGB()
public Color(ColorSpace cspace, float[] components, float alpha)
float
配列で指定された色成分と指定されたアルファを使用して、指定されたColorSpace
内に色を作成します。成分の数はColorSpace
の型によって決まります。たとえばRGBでは3つの成分、CMYKでは4つの成分が必要です。cspace
- 成分を解釈するのに使用されるColorSpace
components
- ColorSpace
に適合する任意の数の色成分alpha
- アルファ値IllegalArgumentException
- components
配列またはalpha
の値のどれかが0.0から1.0の範囲を超えている場合getComponents(float[])
, getColorComponents(float[])
public int getRed()
getRGB()
public int getGreen()
getRGB()
public int getBlue()
getRGB()
public int getAlpha()
getRGB()
public int getRGB()
ColorModel
内の色を表すRGB値を返します。(ビットのうち24 - 31はアルファ、16 - 23は赤、8 - 15は緑、0 - 7は青)。ColorModel
の色のRGB値ColorModel.getRGBdefault()
, getRed()
, getGreen()
, getBlue()
public Color brighter()
Color
をより明るくした新しいColor
を作成します。
このメソッドは、このColor
の3つのRGB成分のそれぞれに任意のスケーリング係数を適用することにより、このColor
をより明るくした色を生成します。alpha
値は保持されます。brighter
とdarker
は逆の操作ですが、これらの2つのメソッドを連続して呼び出した場合、丸め誤差のために結果が一致しないことがあります。
alpha
値は同じで、このColor
をより明るくした、新しいColor
オブジェクトdarker()
public Color darker()
Color
をより暗くした新しいColor
を作成します。
このメソッドは、このColor
の3つのRGB成分のそれぞれに任意のスケーリング係数を適用することにより、このColor
をより暗くした色を生成します。alpha
値は保持されます。brighter
とdarker
は逆の操作ですが、これらの2つのメソッドを連続して呼び出した場合、丸め誤差のために結果が一致しないことがあります。
alpha
値は同じで、このColor
をより暗くした、新しいColor
オブジェクトbrighter()
public int hashCode()
Color
のハッシュ・コードを計算します。hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Color
に等しいかどうかを判定します。
結果は、引数がnull
でなく、このオブジェクトと同じ赤、緑、青、およびアルファの値を持つColor
オブジェクトである場合にだけ、true
になります。
equals
、クラス: Object
obj
- このColor
と等しいかどうかが判定されるオブジェクトtrue
、そうでない場合はfalse
Object.hashCode()
, HashMap
public String toString()
Color
の文字列表現を返します。このメソッドは、デバッグ専用です。返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。public static Color decode(String nm) throws NumberFormatException
String
を整数に変換し、指定された不透明なColor
を返します。このメソッドは、8進数および16進数を表すのに使用される文字列形式を処理します。nm
- 24ビット整数として不透明色を表すString
Color
オブジェクト。NumberFormatException
- 指定された文字列を10進、8進、および16進の整数値に変換できない場合Integer.decode(java.lang.String)
public static Color getColor(String nm)
引数は取得されるシステム・プロパティの名前として扱われます。その後、このプロパティの文字列値が整数として解釈され、この整数が次にColor
オブジェクトに変換されます。
指定されたプロパティが見つからない場合、または整数値として構文解析できなかった場合、null
が返されます。
nm
- カラー・プロパティの名前Color
System.getProperty(java.lang.String)
, Integer.getInteger(java.lang.String)
, Color(int)
public static Color getColor(String nm, Color v)
最初の引数は取得されるシステム・プロパティの名前として扱われます。その後、このプロパティの文字列値が整数として解釈され、この整数が次にColor
オブジェクトに変換されます。
指定されたプロパティが見つからない場合、または整数値として構文解析できなかった場合、代わりに2番目の引数によって指定されたColor
が返されます。
nm
- カラー・プロパティの名前v
- デフォルトのColor
Color
、または指定されたColor
System.getProperty(java.lang.String)
, Integer.getInteger(java.lang.String)
, Color(int)
public static Color getColor(String nm, int v)
最初の引数は取得されるシステム・プロパティの名前として扱われます。その後、このプロパティの文字列値が整数として解釈され、この整数が次にColor
オブジェクトに変換されます。
指定されたプロパティが見つからない場合、または整数値として構文解析できなかった場合、代わりに整数値v
が使用され、Color
オブジェクトに変換されます。
nm
- カラー・プロパティの名前v
- デフォルトのカラー値(整数値)Color
、または指定された整数から変換されたColor
System.getProperty(java.lang.String)
, Integer.getInteger(java.lang.String)
, Color(int)
public static int HSBtoRGB(float hue, float saturation, float brightness)
saturation
成分とbrightness
成分は、0と1の間の浮動小数点値(0.0から1.0までの範囲の数値)にするようにしてください。hue
成分は、任意の浮動小数点数値にできます。この数の下限が減算され、0から1の間の小数部が作成されます。この小数点数に360が乗算され、HSBカラー・モデルの色相角度が生成されます。
HSBtoRGB
によって返される整数値は、整数値のビット0 - 23の色の値をgetRGB
メソッドによって使用されるのと同じ形式でエンコードします。この整数は1つの整数の引数をとるColor
コンストラクタに引数として渡されます。
hue
- 色の色相成分saturation
- 色の彩度brightness
- 色の明度getRGB()
, Color(int)
, ColorModel.getRGBdefault()
public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals)
hsbvals
引数がnull
の場合、その結果を返す新しい配列が割り当てられます。そうでない場合、このメソッドは、配列hsbvals
に値を格納し、その配列を返します。
r
- 色の赤色成分g
- 色の緑色成分b
- 色の青色成分hsbvals
- 3つのHSB値を返すのに使用される配列、またはnull
getRGB()
, Color(int)
, ColorModel.getRGBdefault()
public static Color getHSBColor(float h, float s, float b)
Color
オブジェクトを作成します。
s
成分とb
成分は、0と1の間の浮動小数点値(0.0から1.0までの範囲の数値)にするようにしてください。h
成分は、任意の浮動小数点数値にできます。この数の下限が減算され、0から1の間の小数部が作成されます。この小数点数に360が乗算され、HSBカラー・モデルの色相角度が生成されます。
h
- 色相成分s
- 色の彩度b
- 色の明度Color
オブジェクトpublic float[] getRGBComponents(float[] compArray)
Color
の色成分およびアルファ成分を含むfloat
配列を返します。compArray
がnull
である場合は、戻り値として長さ4の配列が作成されます。それ以外の場合、compArray
は4以上の長さを持つ必要があり、そこに各成分が入力されて返されます。compArray
- このメソッドが色成分とアルファ成分を入力して返す配列float
配列内のRGBA成分public float[] getRGBColorComponents(float[] compArray)
Color
の色成分のみを含むfloat
配列を返します。compArray
がnull
である場合は、戻り値として長さ3の配列が作成されます。それ以外の場合、compArray
は3以上の長さを持つ必要があり、そこに各成分が入力されて返されます。compArray
- このメソッドが色成分を入力して返す配列float
配列内のRGB成分public float[] getComponents(float[] compArray)
Color
のColorSpace
内にある、Color
の色成分およびアルファ成分を含むfloat
配列を返します。compArray
がnull
の場合、関連するColorSpace
内の成分数に1を加えた数を長さとして持つ配列が戻り値として生成されます。それ以外の場合、compArray
は少なくともこの長さを持つ必要があり、そこに各成分が入力されて返されます。compArray
- このメソッドがColorSpace
のこのColor
の色成分とアルファ成分を入力して返す配列float
配列内の色成分およびアルファ成分。public float[] getColorComponents(float[] compArray)
Color
のColorSpace
内にある、Color
の色成分のみを含むfloat
配列を返します。compArray
がnull
の場合、関連するColorSpace
内の成分数と等しい数を長さとして持つ配列が戻り値として生成されます。それ以外の場合、compArray
は少なくともこの長さを持つ必要があり、そこに各成分が入力されて返されます。compArray
- このメソッドがColorSpace
のこのColor
の色成分を入力して返す配列float
配列内の色成分。public float[] getComponents(ColorSpace cspace, float[] compArray)
cspace
パラメータによって指定されたColorSpace
内にある、Color
の色成分およびアルファ成分を含むfloat
配列を返します。compArray
がnull
の場合、cspace
内の成分数に1を加えた数を長さとして持つ配列が戻り値として生成されます。それ以外の場合、compArray
は少なくともこの長さを持つ必要があり、そこに各成分が入力されて返されます。cspace
- 指定されたColorSpace
compArray
- このメソッドが、指定されたColorSpace
のこのColor
の色成分とアルファ成分を入力して返す配列float
配列内の色成分およびアルファ成分。public float[] getColorComponents(ColorSpace cspace, float[] compArray)
cspace
パラメータによって指定されたColorSpace
内にある、Color
の色成分のみを含むfloat
配列を返します。compArray
がnull
の場合、cspace
内の成分数と等しい数を長さとして持つ配列が戻り値として生成されます。それ以外の場合、compArray
は少なくともこの長さを持つ必要があり、そこに各成分が入力されて返されます。cspace
- 指定されたColorSpace
compArray
- このメソッドが、指定されたColorSpace
のこのColor
の色成分を入力する配列float
配列内の色成分。public ColorSpace getColorSpace()
Color
のColorSpace
を返します。Color
オブジェクトのColorSpace
public PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
PaintContext
を作成して返します。nullパラメータの処理については、Paint
インタフェース内のメソッドのspecification
を参照してください。createContext
、インタフェース: Paint
cm
- 呼出し元がピクセル・データを受信するためのもっとも便利な形式を表す推奨されるColorModel
、または推奨値がない場合はnull
。r
- 描画されるグラフィックス・プリミティブのデバイス空間でのバウンディング・ボックス。r2d
- 描画されるグラフィックス・プリミティブのユーザー空間でのバウンディング・ボックス。xform
- ユーザー空間からデバイス空間へのAffineTransform
。hints
- コンテキスト・オブジェクトが描画の選択肢の中から選択するために使用できるヒントのセット。PaintContext
。Paint
, PaintContext
, ColorModel
, Rectangle
, Rectangle2D
, AffineTransform
, RenderingHints
public int getTransparency()
Color
の透明度モードを返します。Paint
インタフェースを実装するのに必要です。getTransparency
、インタフェース: Transparency
Color
オブジェクトの透明度モードPaint
, Transparency
, createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.