|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.batik.ext.awt.MultipleGradientPaint | +--org.apache.batik.ext.awt.RadialGradientPaint
This class provides a way to fill a shape with a circular radial color gradient pattern. The user may specify 2 or more gradient colors, and this paint will provide an interpolation between each color.
The user must provide an array of floats specifying how to distribute the colors along the gradient. These values should range from 0.0 to 1.0 and act like keyframes along the gradient (they mark where the gradient should be exactly a particular color).
This paint will map the first color of the gradient to a focus point within the circle, and the last color to the perimeter of the circle, interpolating smoothly for any inbetween colors specified by the user. Any line drawn from the focus point to the circumference will span the all the gradient colors. By default the focus is set to be the center of the circle.
Specifying a focus point outside of the circle's radius will result in the focus being set to the intersection point of the focus-center line and the perimenter of the circle.
Specifying a cycle method allows the user to control the painting behavior outside of the bounds of the circle's radius. See LinearGradientPaint for more details.
The following code demonstrates typical usage of RadialGradientPaint:
Point2D center = new Point2D.Float(0, 0);
float radius = 20;
float[] dist = {0.0, 0.2, 1.0};
Color[] colors = {Color.red, Color.white, Color.blue};
RadialGradientPaint p = new RadialGradientPaint(center, radius,
dist, colors);
In the event that the user does not set the first keyframe value equal
to 0 and the last keyframe value equal to 1, keyframes will be created at
these positions and the first and last colors will be replicated there.
So, if a user specifies the following arrays to construct a gradient:
{Color.blue, Color.red}, {.3, .7}
this will be converted to a gradient with the following keyframes:
{Color.blue, Color.blue, Color.red, Color.red}, {0, .3, .7, 1}
This image demonstrates a radial gradient with NO_CYCLE and default focus.
This image demonstrates a radial gradient with NO_CYCLE and non-centered focus.
This image demonstrates a radial gradient with REFLECT and non-centered focus.
Inner classes inherited from class org.apache.batik.ext.awt.MultipleGradientPaint |
MultipleGradientPaint.ColorSpaceEnum, MultipleGradientPaint.CycleMethodEnum |
Fields inherited from class org.apache.batik.ext.awt.MultipleGradientPaint |
colors, colorSpace, cycleMethod, fractions, gradientTransform, LINEAR_RGB, NO_CYCLE, REFLECT, REPEAT, SRGB, transparency |
Fields inherited from interface java.awt.Transparency |
BITMASK, OPAQUE, TRANSLUCENT |
Constructor Summary | |
RadialGradientPaint(float cx,
float cy,
float radius,
float[] fractions,
java.awt.Color[] colors)
Constructs a RadialGradientPaint , using the center as the
focus point. |
|
RadialGradientPaint(float cx,
float cy,
float radius,
float fx,
float fy,
float[] fractions,
java.awt.Color[] colors)
Constructs a RadialGradientPaint . |
|
RadialGradientPaint(java.awt.geom.Point2D center,
float radius,
float[] fractions,
java.awt.Color[] colors)
Constructs a RadialGradientPaint , using the center as the
focus point. |
|
RadialGradientPaint(java.awt.geom.Point2D center,
float radius,
java.awt.geom.Point2D focus,
float[] fractions,
java.awt.Color[] colors)
Constructs a RadialGradientPaint . |
|
RadialGradientPaint(java.awt.geom.Point2D center,
float radius,
java.awt.geom.Point2D focus,
float[] fractions,
java.awt.Color[] colors,
MultipleGradientPaint.CycleMethodEnum cycleMethod,
MultipleGradientPaint.ColorSpaceEnum colorSpace)
Constructs a RadialGradientPaint . |
|
RadialGradientPaint(java.awt.geom.Point2D center,
float radius,
java.awt.geom.Point2D focus,
float[] fractions,
java.awt.Color[] colors,
MultipleGradientPaint.CycleMethodEnum cycleMethod,
MultipleGradientPaint.ColorSpaceEnum colorSpace,
java.awt.geom.AffineTransform gradientTransform)
Constructs a RadialGradientPaint . |
|
RadialGradientPaint(java.awt.geom.Rectangle2D gradientBounds,
float[] fractions,
java.awt.Color[] colors)
Constructs a RadialGradientPaint , the gradient circle is
defined by a bounding box. |
Method Summary | |
java.awt.PaintContext |
createContext(java.awt.image.ColorModel cm,
java.awt.Rectangle deviceBounds,
java.awt.geom.Rectangle2D userBounds,
java.awt.geom.AffineTransform transform,
java.awt.RenderingHints hints)
Creates and returns a PaintContext used to generate the color pattern, for use by the internal rendering engine. |
java.awt.geom.Point2D |
getCenterPoint()
Returns a copy of the center point of the radial gradient. |
java.awt.geom.Point2D |
getFocusPoint()
Returns a copy of the end point of the gradient axis. |
float |
getRadius()
Returns the radius of the circle defining the radial gradient. |
Methods inherited from class org.apache.batik.ext.awt.MultipleGradientPaint |
getColors, getColorSpace, getCycleMethod, getFractions, getTransform, getTransparency |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RadialGradientPaint(float cx, float cy, float radius, float[] fractions, java.awt.Color[] colors)
Constructs a RadialGradientPaint
, using the center as the
focus point.
cx
- the x coordinate in user space of the center point of the
circle defining the gradient. The last color of the gradient is mapped
to the perimeter of this circlecy
- the y coordinate in user space of the center point of the
circle defining the gradient. The last color of the gradient is mapped
to the perimeter of this circleradius
- the radius of the circle defining the extents of the
color gradientfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color
is used at the focus point, the last color around the perimeter of the
circle.java.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(java.awt.geom.Point2D center, float radius, float[] fractions, java.awt.Color[] colors)
Constructs a RadialGradientPaint
, using the center as the
focus point.
center
- the center point, in user space, of the circle defining
the gradientradius
- the radius of the circle defining the extents of the
color gradientfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color
is used at the focus point, the last color around the perimeter of the
circle.java.lang.NullPointerException
- if center point is nulljava.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(float cx, float cy, float radius, float fx, float fy, float[] fractions, java.awt.Color[] colors)
Constructs a RadialGradientPaint
.
cx
- the x coordinate in user space of the center point of the
circle defining the gradient. The last color of the gradient is mapped
to the perimeter of this circlecy
- the y coordinate in user space of the center point of the
circle defining the gradient. The last color of the gradient is mapped
to the perimeter of this circleradius
- the radius of the circle defining the extents of the
color gradientfx
- the x coordinate of the point in user space to which the
first color is mappedfy
- the y coordinate of the point in user space to which the
first color is mappedfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color
is used at the focus point, the last color around the perimeter of the
circle.java.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(java.awt.geom.Point2D center, float radius, java.awt.geom.Point2D focus, float[] fractions, java.awt.Color[] colors)
Constructs a RadialGradientPaint
.
center
- the center point, in user space, of the circle defining
the gradient. The last color of the gradient is mapped to the perimeter
of this circleradius
- the radius of the circle defining the extents of the color
gradientfocus
- the point, in user space, to which the first color is
mappedfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color
is used at the focus point, the last color around the perimeter of the
circle.java.lang.NullPointerException
- if one of the points is nulljava.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(java.awt.geom.Point2D center, float radius, java.awt.geom.Point2D focus, float[] fractions, java.awt.Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace)
Constructs a RadialGradientPaint
.
center
- the center point in user space of the circle defining the
gradient. The last color of the gradient is mapped to the perimeter of
this circleradius
- the radius of the circle defining the extents of the color
gradientfocus
- the point in user space to which the first color is mappedfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color is
used at the focus point, the last color around the perimeter of the
circle.cycleMethod
- either NO_CYCLE, REFLECT, or REPEATcolorSpace
- which colorspace to use for interpolation,
either SRGB or LINEAR_RGBjava.lang.NullPointerException
- if one of the points is nulljava.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(java.awt.geom.Point2D center, float radius, java.awt.geom.Point2D focus, float[] fractions, java.awt.Color[] colors, MultipleGradientPaint.CycleMethodEnum cycleMethod, MultipleGradientPaint.ColorSpaceEnum colorSpace, java.awt.geom.AffineTransform gradientTransform)
Constructs a RadialGradientPaint
.
center
- the center point in user space of the circle defining the
gradient. The last color of the gradient is mapped to the perimeter of
this circleradius
- the radius of the circle defining the extents of the color
gradient.focus
- the point in user space to which the first color is mappedfractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color is
used at the focus point, the last color around the perimeter of the
circle.cycleMethod
- either NO_CYCLE, REFLECT, or REPEATcolorSpace
- which colorspace to use for interpolation,
either SRGB or LINEAR_RGBgradientTransform
- transform to apply to the gradientjava.lang.NullPointerException
- if one of the points is null,
or gradientTransform is nulljava.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0public RadialGradientPaint(java.awt.geom.Rectangle2D gradientBounds, float[] fractions, java.awt.Color[] colors)
Constructs a RadialGradientPaint
, the gradient circle is
defined by a bounding box.
gradientBounds
- the bounding box, in user space, of the circle
defining outermost extent of the gradient.fractions
- numbers ranging from 0.0 to 1.0 specifying the
distribution of colors along the gradientcolors
- array of colors to use in the gradient. The first color
is used at the focus point, the last color around the perimeter of the
circle.java.lang.NullPointerException
- if the gradientBounds is nulljava.lang.IllegalArgumentException
- if fractions.length != colors.length, or if colors is less
than 2 in size, or if radius < 0Method Detail |
public java.awt.PaintContext createContext(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform transform, java.awt.RenderingHints hints)
Creates and returns a PaintContext used to generate the color pattern, for use by the internal rendering engine.
cm
- ColorModel
that receives
the Paint
data. This is used only as a hint.deviceBounds
- the device space bounding box of the
graphics primitive being rendereduserBounds
- the user space bounding box of the
graphics primitive being renderedtransform
- the AffineTransform
from user
space into device spacehints
- the hints that the context object uses to choose
between rendering alternativesPaintContext
that generates color patterns.java.lang.IllegalArgumentException
- if the transform is not invertiblePaintContext
public java.awt.geom.Point2D getCenterPoint()
Point2D
object that is a copy of the center pointpublic java.awt.geom.Point2D getFocusPoint()
Point2D
object that is a copy of the focus pointpublic float getRadius()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |