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

Class DisplacementMap



  • public class DisplacementMap
    extends Effect
    将每个像素移动由指定的FloatMap的前两个频带指定的距离的效果 对于输出中的每个像素, mapData的相应数据由scaleoffset属性检索,缩放和偏移,再次按照源输入图像的大小进行缩放,并用作从目标像素的偏移量以检索像素数据从源输入。
      dst[x,y] = src[(x,y) + (offset+scale*map[x,y])*(srcw,srch)] 
    (0.0, 0.0)将不指定像素数据的偏移量,而(0.5, 0.5)的值将指定源图像大小的一半的偏移量。

    注意 ,映射是从目标像素到从其采样的源像素位置的偏移,这意味着用0.5所有值填充地图将使图像的尺寸将朝向左上方移位一半,因为每个目的地像素将包含来自下面和右侧的源像素的数据。

    另请注意,此效果不会调整输入事件的坐标或任何在Node上测量遏制的Node Node具有DisplacementMap效果时,鼠标选择和遏制方法的结果未定义。

    例:

       int width = 220; int height = 100; FloatMap floatMap = new FloatMap(); floatMap.setWidth(width); floatMap.setHeight(height); for (int i = 0; i < width; i++) { double v = (Math.sin(i / 20.0 * Math.PI) - 0.5) / 40.0; for (int j = 0; j < height; j++) { floatMap.setSamples(i, j, 0.0f, (float) v); } } DisplacementMap displacementMap = new DisplacementMap(); displacementMap.setMapData(floatMap); Text text = new Text(); text.setX(40.0); text.setY(80.0); text.setText("Wavy Text"); text.setFill(Color.web("0x3b596d")); text.setFont(Font.font(null, FontWeight.BOLD, 50)); text.setEffect(displacementMap);  

    以上代码产生以下内容:

    DisplacementMap对文本的视觉效果

    从以下版本开始:
    JavaFX 2.0
    • Property Detail

      • input

        public final ObjectProperty<Effect> inputProperty
        该输入为Effect 如果设置为null或未指定, Effect连接EffectNode的图形图像作为输入。
        Default value:
        空值
        另请参见:
        getInput()setInput(Effect)
      • scaleX

        public final DoubleProperty scaleXProperty
        FloatMap中所有x坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
        另请参见:
        getScaleX()setScaleX(double)
      • scaleY

        public final DoubleProperty scaleYProperty
        FloatMap中所有y坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
        另请参见:
        getScaleY()setScaleY(double)
      • offsetX

        public final DoubleProperty offsetXProperty
        FloatMap中的所有x坐标偏移值在被缩放之后被偏移的位移。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
        另请参见:
        getOffsetX()setOffsetX(double)
      • offsetY

        public final DoubleProperty offsetYProperty
        FloatMap中所有y坐标偏移值的偏移量在被缩放后都会移位。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
        另请参见:
        getOffsetY()setOffsetY(double)
      • wrap

        public final BooleanProperty wrapProperty
        是否定义从地图边缘外部获取的值是否“绕回”。
          Min:  n/a
               Max:  n/a
           Default: false
          Identity:  n/a 
        Default value:
        另请参见:
        isWrap()setWrap(boolean)
    • 构造方法详细信息

      • DisplacementMap

        public DisplacementMap​()
        使用默认参数创建DisplacementMap的新实例。
      • DisplacementMap

        public DisplacementMap​(FloatMap mapData)
        使用指定的mapData创建DisplacementMap的新实例。
        参数
        mapData - 该位移图效果的地图数据
        从以下版本开始:
        JavaFX 2.1
      • DisplacementMap

        public DisplacementMap​(FloatMap mapData,
                               double offsetX,
                               double offsetY,
                               double scaleX,
                               double scaleY)
        使用指定的mapData,offsetX,offsetY,scaleX和scaleY创建一个新的DisplacementMap实例。
        参数
        mapData - 该位移图效果的地图数据
        offsetX -偏移量由所有的x在坐标偏移值 FloatMap它们被缩放后移位
        offsetY -所述通过其中所有的y坐标中的偏移值的偏移 FloatMap位移它们被缩放后
        scaleX -由所有的x在坐标偏移值的比例因子 FloatMap相乘
        scaleY -由这在所有y坐标,偏移值的比例因子 FloatMap相乘
        从以下版本开始:
        JavaFX 2.1
    • 方法详细信息

      • setInput

        public final void setInput​(Effect value)
        设置属性输入的值。
        Property description:
        该输入为Effect 如果设置为null或未指定, Effect连接EffectNode的图形图像作为输入。
        Default value:
        空值
      • getInput

        public final Effect getInput​()
        获取属性输入的值。
        Property description:
        该输入为Effect 如果设置为null或未指定,则将使用连接EffectNode的图形图像作为输入。
        Default value:
        空值
      • inputProperty

        public final ObjectProperty<Effect> inputProperty​()
        该输入为Effect 如果设置为null或未指定,则将使用连接EffectNode的图形图像作为输入。
        Default value:
        空值
        另请参见:
        getInput()setInput(Effect)
      • setMapData

        public final void setMapData​(FloatMap value)
        设置属性mapData的值。
        Property description:
        这个 Effect的地图数据。
        Default value:
        一张空地图
      • getMapData

        public final FloatMap getMapData​()
        获取属性mapData的值。
        Property description:
        这个 Effect的地图数据。
        Default value:
        一张空地图
      • setScaleX

        public final void setScaleX​(double value)
        设置属性scaleX的值。
        Property description:
        FloatMap中所有x坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
      • getScaleX

        public final double getScaleX​()
        获取属性scaleX的值。
        Property description:
        FloatMap中所有x坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
      • scaleXProperty

        public final DoubleProperty scaleXProperty​()
        FloatMap中所有x坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
        另请参见:
        getScaleX()setScaleX(double)
      • setScaleY

        public final void setScaleY​(double value)
        设置属性scaleY的值。
        Property description:
        FloatMap中所有y坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
      • getScaleY

        public final double getScaleY​()
        获取属性scaleY的值。
        Property description:
        FloatMap中所有y坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
      • scaleYProperty

        public final DoubleProperty scaleYProperty​()
        FloatMap中所有y坐标偏移值的比例因子相乘。
          Min: n/a
               Max: n/a
           Default: 1.0
          Identity: 1.0 
        Default value:
        1.0
        另请参见:
        getScaleY()setScaleY(double)
      • setOffsetX

        public final void setOffsetX​(double value)
        设置属性offsetX的值。
        Property description:
        FloatMap中的所有x坐标偏移值在被缩放之后被偏移的位移。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
      • getOffsetX

        public final double getOffsetX​()
        获取属性offsetX的值。
        Property description:
        FloatMap中的所有x坐标偏移值在被缩放之后被偏移的位移。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
      • offsetXProperty

        public final DoubleProperty offsetXProperty​()
        FloatMap中的所有x坐标偏移值在被缩放之后被偏移的位移。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
        另请参见:
        getOffsetX()setOffsetX(double)
      • setOffsetY

        public final void setOffsetY​(double value)
        设置属性offsetY的值。
        Property description:
        FloatMap中所有y坐标偏移值的偏移量在被缩放后都会移位。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
      • getOffsetY

        public final double getOffsetY​()
        获取属性offsetY的值。
        Property description:
        FloatMap中所有y坐标偏移值的偏移量在被缩放后都会移位。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
      • offsetYProperty

        public final DoubleProperty offsetYProperty​()
        FloatMap中的所有y坐标偏移值的偏移在它们被缩放之后被移位。
          Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0 
        Default value:
        0.0
        另请参见:
        getOffsetY()setOffsetY(double)
      • setWrap

        public final void setWrap​(boolean value)
        设置属性包装的值。
        Property description:
        是否定义从地图边缘外部获取的值是否“绕回”。
          Min:  n/a
               Max:  n/a
           Default: false
          Identity:  n/a 
        Default value:
      • isWrap

        public final boolean isWrap​()
        获取属性包装的值。
        Property description:
        是否定义从地图边缘外部获取的值是否“绕回”。
          Min:  n/a
               Max:  n/a
           Default: false
          Identity:  n/a 
        Default value:
      • wrapProperty

        public final BooleanProperty wrapProperty​()
        是否定义从地图边缘外部获取的值是否“绕回”。
          Min:  n/a
               Max:  n/a
           Default: false
          Identity:  n/a 
        Default value:
        另请参见:
        isWrap()setWrap(boolean)