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

Class RadialGradient



  • public final class RadialGradient
    extends Paint
    RadialGradient类提供了一种填充圆形径向颜色渐变图案的形状的方法。 用户可以指定2种或更多种渐变颜色,而这种颜色将在每种颜色之间提供插值。

    用户必须指定控制渐变图案的圆,它由中心点和半径定义。 用户还可以在该圆内指定单独的焦点,该点控制渐变的第一个颜色的位置。 默认情况下,焦点设置为圆的中心。

    中心和半径相对于单位平方来指定,除非proportional变量为false。 默认比例为true,渐变将缩放以填充其应用的任何形状。 焦点总是相对于中心点指定相对于半径的角度和距离。

    此画面将渐变的第一个颜色映射到焦点,并将最后一个颜色映射到圆周边,为用户指定的任何中间颜色顺利插入。 因此,从焦点到圆周绘制的任何线将跨越所有渐变颜色。

    对焦距离将被夹紧到(-1, 1)范围内,使焦点始终严格在圆内。

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

    从以下版本开始:
    JavaFX 2.0
    • 构造方法摘要

      构造方法  
      Constructor 描述
      RadialGradient​(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
      创建一个新的RadialGradient实例。
      RadialGradient​(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, Stop... stops)
      创建一个新的RadialGradient实例。
    • 构造方法详细信息

      • RadialGradient

        public RadialGradient​(double focusAngle,
                              double focusDistance,
                              double centerX,
                              double centerY,
                              double radius,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              Stop... stops)
        创建一个新的RadialGradient实例。
        参数
        focusAngle - 从渐变的中心到第一个颜色映射到的对焦点的角度角度
        focusDistance - 从渐变中心到第一个颜色映射到的对焦点的距离
        centerX - 渐变圆的中心点的X坐标
        centerY - 渐变圆的中心点的Y坐标
        radius - 定义颜色渐变范围的圆的半径
        proportional - 坐标和尺寸是否与该渐变填充的形状成比例
        cycleMethod - 应用于渐变的循环方法
        stops - 梯度的颜色规格
      • RadialGradient

        public RadialGradient​(double focusAngle,
                              double focusDistance,
                              double centerX,
                              double centerY,
                              double radius,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              List<Stop> stops)
        创建一个新的RadialGradient实例。
        参数
        focusAngle - 从渐变中心到第一个颜色映射到的对焦点的角度角度
        focusDistance - 从渐变的中心到第一个颜色映射到的对焦点的距离
        centerX - 渐变圆的中心点的X坐标
        centerY - 渐变圆的中心点的Y坐标
        radius - 定义颜色渐变范围的圆的半径
        proportional - 坐标和大小是否与该渐变填充的形状成比例
        cycleMethod - 循环方法应用于梯度
        stops - 梯度的颜色规格
    • 方法详细信息

      • getFocusAngle

        public final double getFocusAngle​()
        定义从渐变的中心到第一个颜色映射到的对焦点的角度(以度为单位)。
        结果
        从渐变的中心到第一个颜色映射到的对焦点的角度
      • getFocusDistance

        public final double getFocusDistance​()
        定义从渐变的中心到第一个颜色映射到的对焦点的距离。 距离为0.0将在渐变圆的中心。 距离为1.0将在渐变圆的圆周上。
        结果
        从渐变的中心到第一个颜色映射到的焦点的距离
      • getCenterX

        public final double getCenterX​()
        定义定义渐变的圆的中心点的X坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。 渐变的最后一个颜色被映射到该圆的周长。
        Default value:
        0.0
        结果
        定义渐变的圆的中心点的X坐标
      • getCenterY

        public final double getCenterY​()
        定义定义渐变的圆的中心点的X坐标。 如果比例为真(默认值),此值指定单位平方的点,该点将被缩放以匹配渐变填充的形状的大小。 渐变的最后一个颜色被映射到该圆的周长。
        Default value:
        0.0
        结果
        定义渐变的圆的中心点的X坐标
      • getRadius

        public final double getRadius​()
        指定定义颜色渐变范围的圆的半径。 如果比例为真(默认值),此值指定相对于单位平方的尺寸,该尺寸将缩放以匹配渐变填充的形状的大小。
        Default value:
        1.0
        结果
        圆的半径定义颜色渐变的范围
      • isProportional

        public final boolean isProportional​()
        指示中心和半径值是正比还是绝对。 如果该标志为真,则中心点和半径在坐标空间中定义,其坐标范围为[0..1] ,以映射到渐变填充的形状边界。 如果该标志为假,则在节点的本地坐标系中指定中心坐标和半径。
        Default value:
        真正
        结果
        如果中心和半径值成正比,则为真,否则为绝对值
      • getCycleMethod

        public final CycleMethod getCycleMethod​()
        定义应用于RadialGradient的循环方法。 一: CycleMethod.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​()
        返回此 RadialGradient对象的字符串表示形式。
        重写:
        toStringObject
        结果
        这个 RadialGradient对象的字符串表示形式。
      • valueOf

        public static RadialGradient valueOf​(String value)
        从字符串表示形成径向渐变值。

        字符串表示形式基于径向渐变的JavaFX CSS规范

          radial-gradient([focus-angle <angle>, ]?
                         [focus-distance <percentage>, ]?
                         [center <point>, ]?
                         radius [<length> | <percentage>],
                         [[repeat | reflect],]?
                         <color-stop>[, <color-stop>]+) 
        哪里
          <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ]
         <color-stop> = [ <color> [ <percentage> | <length>]? ] 

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

        例子:
           RadialGradient g = RadialGradient.valueOf("radial-gradient(center 100px 100px, radius 200px, red 0%, blue 30%, black 100%)"); RadialGradient g = RadialGradient.valueOf("center 100px 100px, radius 200px, red 0%, blue 30%, black 100%"); RadialGradient g = RadialGradient.valueOf("radial-gradient(center 50% 50%, radius 50%, cyan, violet 75%, magenta)"); RadialGradient g = RadialGradient.valueOf("center 50% 50%, radius 50%, cyan, violet 75%, magenta");  
        参数
        value - 要转换的字符串
        结果
        一个 RadialGradient对象,保存由string参数表示的值。
        异常
        NullPointerException - 如果 valuenull
        IllegalArgumentException - 如果 value无法解析
        从以下版本开始:
        JavaFX 2.1