|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.awt.MultipleGradientPaint
java.awt.LinearGradientPaint
public final class LinearGradientPaint
LinearGradientPaint クラスは、色の線形グラデーションパターンで Shape を塗りつぶす手段を提供します。ユーザーはグラデーションの色を 2 色以上指定でき、この場合の描画では、各色の間の補間が行われます。また、ユーザー空間内で色のグラデーションの開始位置と終了位置を定義する始点と終点を指定することもできます。
ユーザーは、グラデーションでの色の分布方法を指定する float 配列を指定する必要があります。これらの値は 0.0 〜 1.0 の範囲内にあって、グラデーションに沿ったキーフレームのように機能する必要があります。これらの値によって、グラデーションを厳密に特定の色にする位置をマークします。
ユーザーが最初のキーフレーム値を 0 に設定しない場合や、最後のキーフレーム値を 1 に設定しない場合は、キーフレームがその位置に作成され、最初の色や最後の色がその位置に複製されます。たとえば、ユーザーが次の配列を指定してグラデーションを構築するとします。
{Color.BLUE, Color.RED}, {.3f, .7f}
これは、次のキーフレームを持つグラデーションに変換されます。
{Color.BLUE, Color.BLUE, Color.RED, Color.RED}, {0f, .3f, .7f, 1f}
ユーザーは、始点と終点の外側で色を塗りつぶすときに LinearGradientPaint で実行される動作を選択することもできます。循環方法を指定しない場合は、デフォルトで NO_CYCLE が選択されます。つまり、残りの領域を塗りつぶすために端点の色が使用されます。
colorSpace パラメータでは、補間が実行されるカラースペース (デフォルトの sRGB または線形化された RGB) を指定できます。
次のコードは、LinearGradientPaint の一般的な使い方を示しています。
Point2D start = new Point2D.Float(0, 0);
Point2D end = new Point2D.Float(50, 50);
float[] dist = {0.0f, 0.2f, 1.0f};
Color[] colors = {Color.RED, Color.WHITE, Color.BLUE};
LinearGradientPaint p =
new LinearGradientPaint(start, end, dist, colors);
このコードにより、LinearGradientPaint が作成され、グラデーションの最初の 20% は赤と白の間で補間され、残りの 80% は白と青の間で補間されます。
3 つの循環方法のそれぞれについて、上記のコード例の結果は次のイメージのようになります。
Paint,
Graphics2D.setPaint(java.awt.Paint)| 入れ子のクラスの概要 |
|---|
| クラス java.awt.MultipleGradientPaint から継承された入れ子のクラス/インタフェース |
|---|
MultipleGradientPaint.ColorSpaceType, MultipleGradientPaint.CycleMethod |
| フィールドの概要 |
|---|
| インタフェース java.awt.Transparency から継承されたフィールド |
|---|
BITMASK, OPAQUE, TRANSLUCENT |
| コンストラクタの概要 | |
|---|---|
LinearGradientPaint(float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color[] colors)
デフォルトの NO_CYCLE 繰り返しメソッドと sRGB カラースペースを使用して、LinearGradientPaint を構築します。 |
|
LinearGradientPaint(float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
デフォルトの sRGB カラースペースを使用して、LinearGradientPaint を構築します。 |
|
LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors)
デフォルトの NO_CYCLE 繰り返しメソッドと sRGB カラースペースを使用して、LinearGradientPaint を構築します。 |
|
LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
デフォルトの sRGB カラースペースを使用して、LinearGradientPaint を構築します。 |
|
LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod,
MultipleGradientPaint.ColorSpaceType colorSpace,
AffineTransform gradientTransform)
LinearGradientPaint を構築します。 |
|
| メソッドの概要 | |
|---|---|
PaintContext |
createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints)
カラーパターンを生成するために使用する PaintContext を作成して返します。 |
Point2D |
getEndPoint()
放射状グラデーションの焦点のコピーを返します。 |
Point2D |
getStartPoint()
グラデーション軸の始点のコピーを返します。 |
| クラス java.awt.MultipleGradientPaint から継承されたメソッド |
|---|
getColors, getColorSpace, getCycleMethod, getFractions, getTransform, getTransparency |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public LinearGradientPaint(float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color[] colors)
NO_CYCLE 繰り返しメソッドと sRGB カラースペースを使用して、LinearGradientPaint を構築します。
startX - ユーザー空間でグラデーション軸の始点の X 座標startY - ユーザー空間でグラデーション軸の始点の Y 座標endX - ユーザー空間でグラデーション軸の終点の X 座標endY - ユーザー空間でグラデーション軸の終点の Y 座標fractions - 0.0 〜 1.0 の範囲の数値。グラデーションでの色分布を指定するcolors - 各小数値に対応する色の配列
NullPointerException - fractions 配列が null の場合、または colors 配列が null の場合
IllegalArgumentException - 始点と終点が同じ点である場合、fractions.length != colors.length である場合、colors のサイズが 2 より小さい場合、fractions の値が 0.0 より小さいか 1.0 より大きい場合、または fractions が厳密な昇順で指定されない場合
public LinearGradientPaint(float startX,
float startY,
float endX,
float endY,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
sRGB カラースペースを使用して、LinearGradientPaint を構築します。
startX - ユーザー空間でグラデーション軸の始点の X 座標startY - ユーザー空間でグラデーション軸の始点の Y 座標endX - ユーザー空間でグラデーション軸の終点の X 座標endY - ユーザー空間でグラデーション軸の終点の Y 座標fractions - 0.0 〜 1.0 の範囲の数値。グラデーションでの色分布を指定するcolors - 各小数値に対応する色の配列cycleMethod - NO_CYCLE、REFLECT、または REPEAT
NullPointerException - fractions 配列が null の場合、colors 配列が null の場合、または cycleMethod が null の場合
IllegalArgumentException - 始点と終点が同じ点である場合、fractions.length != colors.length である場合、colors のサイズが 2 より小さい場合、fractions の値が 0.0 より小さいか 1.0 より大きい場合、または fractions が厳密な昇順で指定されない場合
public LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors)
NO_CYCLE 繰り返しメソッドと sRGB カラースペースを使用して、LinearGradientPaint を構築します。
start - ユーザー空間内でグラデーション軸の始点を表す Point2Dend - ユーザー空間内でグラデーション軸の終点を表す Point2Dfractions - 0.0 〜 1.0 の範囲の数値。グラデーションでの色分布を指定するcolors - 各小数値に対応する色の配列
NullPointerException - 点のいずれかが null の場合、fractions 配列が null の場合、または colors 配列が null の場合
IllegalArgumentException - 始点と終点が同じ点である場合、fractions.length != colors.length である場合、colors のサイズが 2 より小さい場合、fractions の値が 0.0 より小さいか 1.0 より大きい場合、または fractions が厳密な昇順で指定されない場合
public LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod)
sRGB カラースペースを使用して、LinearGradientPaint を構築します。
start - ユーザー空間内でグラデーション軸の始点を表す Point2Dend - ユーザー空間内でグラデーション軸の終点を表す Point2Dfractions - 0.0 〜 1.0 の範囲の数値。グラデーションでの色分布を指定するcolors - 各小数値に対応する色の配列cycleMethod - NO_CYCLE、REFLECT、または REPEAT
NullPointerException - 点のいずれかが null の場合、fractions 配列が null の場合、colors 配列が null の場合、または cycleMethod が null の場合
IllegalArgumentException - 始点と終点が同じ点である場合、fractions.length != colors.length である場合、colors のサイズが 2 より小さい場合、fractions の値が 0.0 より小さいか 1.0 より大きい場合、または fractions が厳密な昇順で指定されない場合
public LinearGradientPaint(Point2D start,
Point2D end,
float[] fractions,
Color[] colors,
MultipleGradientPaint.CycleMethod cycleMethod,
MultipleGradientPaint.ColorSpaceType colorSpace,
AffineTransform gradientTransform)
LinearGradientPaint を構築します。
start - ユーザー空間内でグラデーション軸の始点を表す Point2Dend - ユーザー空間内でグラデーション軸の終点を表す Point2Dfractions - 0.0 〜 1.0 の範囲の数値。グラデーションでの色分布を指定するcolors - 各小数値に対応する色の配列cycleMethod - NO_CYCLE、REFLECT、または REPEATcolorSpace - 補間に使用するカラースペース。SRGB と LINEAR_RGB のいずれかgradientTransform - グラデーションに適用する変換
NullPointerException - 点のいずれかが null の場合、fractions 配列が null の場合、colors 配列が null の場合、cycleMethod が null の場合、colorSpace が null の場合、または gradientTransform が null の場合
IllegalArgumentException - 始点と終点が同じ点である場合、fractions.length != colors.length である場合、colors のサイズが 2 より小さい場合、fractions の値が 0.0 より小さいか 1.0 より大きい場合、または fractions が厳密な昇順で指定されない場合| メソッドの詳細 |
|---|
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints)
PaintContext を作成して返します。CreateContext に対する ColorModel 引数はヒントに過ぎないので、Paint の実装は ColorModel の引数に null を受け入れる必要があります。アプリケーションが特定の ColorModel を優先して使用しない場合、ColorModel の引数 null は Paint の実装で、ラスタ処理にもっとも効率的と思われる ColorModel を自由に使用できることになります。
API のドキュメントでは、バージョン 1.4 以前のリリースにおいてこの点を特に指定しなかったので、ColorModel 引数 null を受け入れない Paint の実装がある可能性があります。開発者が任意のソースからの Paint オブジェクトの createContext メソッドに ColorModel 引数 null を渡すコードを記述する場合は、NullPointerException をスローするこれらのコードに対して、null を使用しない ColorModel を作成することにより、安全にコーディングすることが賢明です。
cm - Paint データを受け取る ColorModel。これは単にヒントとして使用されるdeviceBounds - 描画されるグラフィックスプリミティブのデバイス空間でのバウンディングボックスuserBounds - 描画されるグラフィックスプリミティブのユーザー空間でのバウンディングボックスtransform - ユーザー空間からデバイス空間への AffineTransformhints - コンテキストオブジェクトが描画の選択肢を選択するときに使用するヒント
PaintContextPaintContextpublic Point2D getStartPoint()
LinearGradientPaint の最初の色を固定する点のコピーを表す Point2D オブジェクトpublic Point2D getEndPoint()
LinearGradientPaint の最後の色を固定する点のコピーを表す Point2D オブジェクト
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。