- java.lang.Object
-
- java.awt.GradientPaint
-
- All Implemented Interfaces:
-
Paint
,Transparency
public class GradientPaint extends Object implements Paint
GradientPaint
类提供了一种填充Shape
线性颜色渐变模式的方式。 如果Point
P1与Color
C1和Point
P2与Color
C2在用户空间中指定,P1,P2连接线上的Color
将从C1到C2成比例地更改。 扩展P1,P2连接线上的任何点P都不具有在扩展P1,P2连接线上的P的垂直投影点P'的颜色。 P1,P2段外的扩展线上的点可以以两种方式之一进行着色。- 如果梯度是循环的,则扩展的P1,P2连接线上的点在颜色C1和C2之间来回循环。
- 如果梯度是非循环的,那么该段的P1侧上的点具有常数
Color
C1,P2侧的点具有常数Color
C2。
- Version:
- 1997年2月10日
- 另请参见:
-
Paint
,Graphics2D.setPaint(java.awt.Paint)
-
-
Field Summary
-
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
-
构造方法摘要
构造方法 Constructor 描述 GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)
构造一个简单的无环GradientPaint
对象。GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)
根据boolean
参数构造循环或非循环GradientPaint
对象。GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
构造一个简单的非循环GradientPaint
对象。GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
根据boolean
参数构造循环或非循环GradientPaint
对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 PaintContext
createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
创建并返回一个用于生成线性颜色渐变模式的PaintContext
。Color
getColor1()
返回由点P1锚定的颜色C1。Color
getColor2()
返回由点P2锚定的颜色C2。Point2D
getPoint1()
返回锚点第一个颜色的点P1的副本。Point2D
getPoint2()
返回锚定第二种颜色的点P2的副本。int
getTransparency()
返回此GradientPaint
的透明度模式。boolean
isCyclic()
如果梯度在两种颜色C1和C2之间重复循环,则返回true
。
-
-
-
构造方法详细信息
-
GradientPaint
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)
构造一个简单的无环GradientPaint
对象。- 参数
-
x1
- 用户空间中第一个指定的Point
x坐标 -
y1
- 用户空间中第一个指定的Point
y坐标 -
color1
-Color
在第一个指定的Point
-
x2
- 用户空间中第二个指定的Point
x坐标 -
y2
- 用户空间中第二个指定的Point
y坐标 -
color2
-Color
在第二个指定的Point
- 异常
-
NullPointerException
- 如果任何一种颜色为空
-
GradientPaint
public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
构造一个简单的无环GradientPaint
对象。- 参数
-
pt1
- 用户空间中第一个指定的Point
-
color1
-Color
在第一个指定的Point
-
pt2
- 第二个用户空间中指定的Point
-
color2
-Color
在第二个指定的Point
- 异常
-
NullPointerException
- 如果颜色或点中的任何一个为空
-
GradientPaint
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)
根据boolean
参数构建循环或非循环GradientPaint
对象。- 参数
-
x1
- 用户空间中第一个指定的Point
x坐标 -
y1
- 用户空间中第一个指定的Point
y坐标 -
color1
-Color
在第一个指定的Point
-
x2
- 用户空间中第二个指定的Point
x坐标 -
y2
- 用户空间中第二个指定的Point
y坐标 -
color2
-Color
在第二个指定的Point
-
cyclic
-true
如果梯度图案应该在两种颜色之间重复循环; 否则为false
-
GradientPaint
@ConstructorProperties({"point1","color1","point2","color2","cyclic"}) public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
根据boolean
参数构造循环或非循环GradientPaint
对象。- 参数
-
pt1
- 用户空间中第一个指定的Point
-
color1
-Color
在第一个指定的Point
-
pt2
- 第二个用户空间中指定的Point
-
color2
-Color
在第二个指定的Point
-
cyclic
-true
如果梯度图案应该在两种颜色之间重复循环; 否则为false
- 异常
-
NullPointerException
- 如果颜色或点中的任一个为空
-
-
方法详细信息
-
getPoint1
public Point2D getPoint1()
返回锚点第一个颜色的点P1的副本。- 结果
-
一个
Point2D
对象,它是锚定此GradientPaint
的第一个颜色的点的副本。
-
getColor1
public Color getColor1()
返回由点P1锚定的颜色C1。- 结果
-
一个
Color
对象,它是由P1锚定的颜色。
-
getPoint2
public Point2D getPoint2()
返回锚定第二种颜色的点P2的副本。- 结果
-
一个
Point2D
对象,它是锚定此GradientPaint
的第二个颜色的点的副本。
-
getColor2
public Color getColor2()
返回由点P2锚定的颜色C2。- 结果
-
一个
Color
对象,是由P2锚定的颜色。
-
isCyclic
public boolean isCyclic()
如果梯度在两种颜色C1和C2之间重复循环,则返回true
。- 结果
-
true
如果梯度在两种颜色之间重复循环;false
否则。
-
createContext
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
创建并返回一个用于生成线性颜色渐变模式的PaintContext
。 见specification
方法在Paint
界面上的空参数处理信息。- Specified by:
-
createContext
接口Paint
- 参数
-
cm
- 首选的ColorModel
,表示呼叫者接收像素数据最方便的格式,如果没有偏好,则表示null
。 -
deviceBounds
- 正在渲染的图形基元的设备空间边界框。 -
userBounds
- 呈现的图形基元的用户空间边界框。 -
xform
- 从用户空间到设备空间的AffineTransform
。 -
hints
- 上下文对象可用于在呈现替代方案之间进行选择的一组提示。 - 结果
-
用于生成颜色图案的
PaintContext
。 - 另请参见:
-
Paint
,PaintContext
,ColorModel
,Rectangle
,Rectangle2D
,AffineTransform
,RenderingHints
-
getTransparency
public int getTransparency()
返回此GradientPaint
的透明度模式。- Specified by:
-
getTransparency
在接口Transparency
- 结果
-
一个整数值,表示这个
GradientPaint
对象的透明度模式。 - 另请参见:
-
Transparency
-
-