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 の色の値を
メソッドによって使用されるのと同じ形式で符号化します。この整数は 1 つの整数の引数をとる getRGB
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, 2013, Oracle and/or its affiliates. All rights reserved.