Module java.desktop
Package java.awt

Class GradientPaint

java.lang.Object
java.awt.GradientPaint
所有已实现的接口:
Paint, Transparency

public class GradientPaint extends Object implements Paint
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。
参见:
  • Constructor Details

    • GradientPaint

      public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)
      构造一个简单的非循环GradientPaint对象。
      参数:
      x1 - 用户空间中第一个指定Point的x坐标
      y1 - 用户空间中第一个指定Point的y坐标
      color1 - 第一个指定Point处的Color
      x2 - 用户空间中第二个指定Point的x坐标
      y2 - 用户空间中第二个指定Point的y坐标
      color2 - 第二个指定Point处的Color
      抛出:
      NullPointerException - 如果其中一个颜色为null
    • GradientPaint

      public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
      构造一个简单的非循环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

      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。有关空参数处理的信息,请参阅Paint接口中方法的规范
      指定者:
      createContext 在接口 Paint
      参数:
      cm - 表示调用者接收像素数据最方便格式的首选ColorModel,如果没有首选项,则为null
      deviceBounds - 正在呈现的图形基元的设备空间边界框
      userBounds - 正在呈现的图形基元的用户空间边界框
      xform - 从用户空间到设备空间的AffineTransform
      hints - 上下文对象可用于选择渲染替代方案的提示集
      返回:
      用于生成颜色模式的PaintContext
      参见:
    • getTransparency

      public int getTransparency()
      返回此GradientPaint的透明度模式。
      指定者:
      getTransparency 在接口 Transparency
      返回:
      一个整数值,表示此GradientPaint对象的透明度模式。
      参见: