Module  javafx.graphics
软件包  javafx.scene.paint

Class LinearGradient



  • public final class LinearGradient
    extends Paint

    LinearGradient类用线性颜色渐变模式填充形状。 用户可以指定两个或多个渐变颜色,并且此“绘画”将在每个颜色之间提供插值。

    该应用程序提供了一个Stop s的数组,指定如何沿渐变分布颜色。 Stop#offset变量的范围必须为0.0到1.0,并且像梯度的关键帧一样起作用。 偏移标记了渐变应该是一个特定的颜色。

    如果比例变量设置为真,则应该相对于单位平方(0.0-> 1.0)指定渐变的起始点和终点,并且将跨越形状拉伸。 如果比例变量设置为false,则应在形状的局部坐标系中指定起点和终点,并且渐变不会被拉伸。

    下面示例中的两个填充矩形将呈现相同的。 左边的一个使用比例坐标来指定渐变的终点。 右边的一个使用绝对坐标。 它们都用从黑色到红色的水平渐变填充指定的矩形

      // object bounding box relative (proportional = true)
    Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.RED)};
    LinearGradient lg1 = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops);
    Rectangle r1 = new Rectangle(0, 0, 100, 100);
    r1.setFill(lg1);
    
    // user space relative (proportional: = false)
    LinearGradient lg2 = new LinearGradient(125, 0, 225, 0, false, CycleMethod.NO_CYCLE, stops);
    Rectangle r2 = new Rectangle(125, 0, 100, 100);
    r2.setFill(lg2); 
    从以下版本开始:
    JavaFX 2.0
    • 构造方法摘要

      构造方法  
      Constructor 描述
      LinearGradient​(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
      创建一个新的LinearGradient实例。
      LinearGradient​(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
      创建一个新的LinearGradient实例。
    • 构造方法详细信息

      • LinearGradient

        public LinearGradient​(double startX,
                              double startY,
                              double endX,
                              double endY,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              Stop... stops)
        创建一个新的LinearGradient实例。
        参数
        startX - 渐变轴起始点的X坐标
        startY - 渐变轴起始点的Y坐标
        endX - 渐变轴终点的X坐标
        endY - 渐变轴终点的Y坐标
        proportional - 坐标是否与该渐变填充的形状成正比
        cycleMethod - 循环方法应用于梯度
        stops - 梯度的颜色规格
      • LinearGradient

        public LinearGradient​(double startX,
                              double startY,
                              double endX,
                              double endY,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              List<Stop> stops)
        创建一个新的LinearGradient实例。
        参数
        startX - 渐变轴起始点的X坐标
        startY - 渐变轴起始点的Y坐标
        endX - 渐变轴终点的X坐标
        endY - 渐变轴终点的Y坐标
        proportional - 坐标是否与该渐变填充的形状成正比
        cycleMethod - 应用于梯度的循环方法
        stops - 梯度的颜色规格
    • 方法详细信息

      • getStartX

        public final double getStartX​()
        定义渐变轴起始点的X坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。
        Default value:
        0.0
        结果
        梯度轴起始点的X坐标
      • getStartY

        public final double getStartY​()
        定义渐变轴起始点的Y坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。
        Default value:
        0.0
        结果
        梯度轴起始点的Y坐标
      • getEndX

        public final double getEndX​()
        定义渐变轴终点的X坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。
        Default value:
        1.0
        结果
        梯度轴终点的X坐标
      • getEndY

        public final double getEndY​()
        定义渐变轴终点的Y坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。
        Default value:
        1.0
        结果
        梯度轴终点的Y坐标
      • isProportional

        public final boolean isProportional​()
        指示开始和结束位置是成比例还是绝对。 如果此标志为真,则两个端点在坐标空间中定义,其中[0..1]范围内的[0..1]被缩放以映射到渐变填充的形状的边界上。 如果该标志为假,则在该节点的本地坐标系中指定坐标。
        Default value:
        真正
        结果
        如果真正的开始和结束位置成比例,否则为绝对值
      • getCycleMethod

        public final CycleMethod getCycleMethod​()
        定义了下面的循环方法的被施加到 LinearGradientCycleMethod.NO_CYCLECycleMethod.REFLECT ,或 CycleMethod.REPEAT
        Default value:
        NO_CYCLE
        结果
        该循环方法应用于该线性梯度
      • getStops

        public final List<Stop> getStops​()
        2个或更多个Stop值的序列,指定如何沿渐变分布颜色。 这些值必须在0.0到1.0的范围内。 它们像梯度的关键帧一样起作用:它们标示渐变应该是一个特定的颜色。

        序列中的每个停止位都必须具有大于序列中前一个停止位置的偏移量。

        该列表是不可修改的,并将在每次修改尝试时抛出UnsupportedOperationException

        Default value:
        结果
        停止值列表
      • isOpaque

        public final boolean isOpaque​()
        获取此Paint是否完全不透明。 不透明的油漆是其任何颜色都没有阿尔法成分的油漆。 油漆可能是不透明的,但是如果不能容易地确定涂料是否实际上是不透明的,则返回假。 例如,ImagePattern可能无法廉价地确定其不透明度。
        Specified by:
        isOpaquePaint
        结果
        如果油漆是不透明的,则为真,如果不透明或不能确定则为假。
        从以下版本开始:
        JavaFX 8.0
      • equals

        public boolean equals​(Object obj)
        指示一些其他对象是否等于此。
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        true如果此对象等于obj参数; false否则。
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        返回此 LinearGradient对象的字符串表示形式。
        重写:
        toStringObject
        结果
        这是 LinearGradient对象的字符串表示形式。
      • valueOf

        public static LinearGradient valueOf​(String value)
        从字符串表示形成线性渐变值。

        字符串表示的格式基于线性渐变的JavaFX CSS规范

          linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+) 
        哪里
          <side-or-corner> = [left | right] || [top | bottom]
         <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ]
         <color-stop> = [ <color> [ <percentage> | <length>]? ] 

        目前的长度只能用px来指定,单位的规格可以不理。 颜色表示的格式是Color.web(String color)使用的格式 线性梯度关键字可以被忽略。 有关字符串表示形式的其他信息,请参阅CSS Reference Guide

        例子:
           LinearGradient g = LinearGradient.valueOf("linear-gradient(from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%)"); LinearGradient g = LinearGradient.valueOf("from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%"); LinearGradient g = LinearGradient.valueOf("linear-gradient(from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%)"); LinearGradient g = LinearGradient.valueOf("from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%");  
        参数
        value - 要转换的字符串
        结果
        一个 LinearGradient对象,保存由字符串参数表示的值。
        异常
        NullPointerException - 如果 valuenull
        IllegalArgumentException - 如果 value无法解析
        从以下版本开始:
        JavaFX 2.1