java.lang.Object
java.awt.GradientPaint
- 所有已实现的接口:
-
Paint
,Transparency
GradientPaint
类提供了一种使用线性颜色渐变模式填充Shape
的方法。如果在用户空间中指定了带有颜色Point
P1和颜色Color
C1以及带有颜色Point
P2和颜色Color
C2,则P1、P2连接线上的颜色将从C1按比例变化到C2。不在延长的P1、P2连接线上的点P具有点P'的颜色,该点是P在延长的P1、P2连接线上的垂直投影。延长线上的点在P1、P2段之外可以以两种方式之一着色。
- 如果渐变是循环的,则延长的P1、P2连接线上的点在颜色C1和C2之间来回循环。
- 如果渐变是非循环的,则段的P1侧的点具有恒定的
Color
C1,而P2侧的点具有恒定的Color
C2。
- 参见:
-
Field Summary
Fields declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
Constructor Summary
ConstructorDescriptionGradientPaint
(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
对象。 -
Method Summary
Modifier and TypeMethodDescriptioncreateContext
(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints) 创建并返回用于生成线性颜色渐变模式的PaintContext
。返回由点P1锚定的颜色C1。返回由点P2锚定的颜色C2。返回锚定第一种颜色的点P1的副本。返回锚定第二种颜色的点P2的副本。int
返回此GradientPaint
的透明度模式。boolean
isCyclic()
如果渐变在颜色C1和C2之间重复循环,则返回true
。
-
Constructor Details
-
GradientPaint
构造一个简单的非循环GradientPaint
对象。- 参数:
-
x1
- 用户空间中第一个指定Point
的x坐标 -
y1
- 用户空间中第一个指定Point
的y坐标 -
color1
- 第一个指定Point
处的Color
-
x2
- 用户空间中第二个指定Point
的x坐标 -
y2
- 用户空间中第二个指定Point
的y坐标 -
color2
- 第二个指定Point
处的Color
- 抛出:
-
NullPointerException
- 如果其中一个颜色为null
-
GradientPaint
构造一个简单的非循环GradientPaint
对象。- 参数:
-
pt1
- 用户空间中第一个指定Point
-
color1
- 第一个指定Point
处的Color
-
pt2
- 用户空间中第二个指定Point
-
color2
- 第二个指定Point
处的Color
- 抛出:
-
NullPointerException
- 如果其中一个颜色或点为null
-
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
- 第一个指定Point
处的Color
-
x2
- 用户空间中第二个指定Point
的x坐标 -
y2
- 用户空间中第二个指定Point
的y坐标 -
color2
- 第二个指定Point
处的Color
-
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
- 第一个指定Point
处的Color
-
pt2
- 用户空间中第二个指定Point
-
color2
- 第二个指定Point
处的Color
-
cyclic
- 如果渐变模式应在两种颜色之间重复循环,则为true
;否则为false
- 抛出:
-
NullPointerException
- 如果其中一个颜色或点为null
-
-
Method Details
-
getPoint1
返回锚定第一种颜色的点P1的副本。- 返回:
-
一个
Point2D
对象,它是锚定此GradientPaint
的第一种颜色的点的副本。
-
getColor1
返回由点P1锚定的颜色C1。- 返回:
-
一个
Color
对象,它是由P1锚定的颜色。
-
getPoint2
返回锚定第二种颜色的点P2的副本。- 返回:
-
一个
Point2D
对象,它是锚定此GradientPaint
的第二种颜色的点的副本。
-
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) - 指定者:
-
createContext
在接口Paint
中 - 参数:
-
cm
- 表示调用者接收像素数据最方便格式的首选ColorModel
,如果没有首选项,则为null
-
deviceBounds
- 正在呈现的图形基元的设备空间边界框 -
userBounds
- 正在呈现的图形基元的用户空间边界框 -
xform
- 从用户空间到设备空间的AffineTransform
-
hints
- 上下文对象可用于选择渲染替代方案的提示集 - 返回:
-
用于生成颜色模式的
PaintContext
。 - 参见:
-
getTransparency
public int getTransparency()返回此GradientPaint
的透明度模式。- 指定者:
-
getTransparency
在接口Transparency
- 返回:
-
一个整数值,表示此
GradientPaint
对象的透明度模式。 - 参见:
-