Spec-Zone.ru › OpenJavaFX 8
javafx.scene.effect

Класс DisplacementMap

java.lang.Object
  • javafx.scene.effect.Effect
    • javafx.scene.effect.DisplacementMap


public class DisplacementMap
extends Effect
Эффект, смещающий каждый пиксель на расстояние, заданное первыми двумя каналами указанной FloatMap. Для каждого пикселя на выходе извлекаются соответствующие данные из mapData, масштабируются и смещаются на значения атрибутов scale и offset, масштабируются ещё раз в соответствии с размером входного изображения и используются в качестве смещения от целевого пикселя для извлечения данных пикселя из исходного входного изображения.
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 имеет эффект 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);

Код выше даёт следующий результат:

С момента:

JavaFX 2.0

  • Краткое описание свойств

    Все методыМетоды экземпляраКонкретные методы
    Тип Свойство и описание
    ObjectProperty<Effect> input
    Вход для данного Effect.
    ObjectProperty<FloatMap> mapData
    Данные карты для данного Effect.
    DoubleProperty offsetX
    Смещение, на которое смещаются все значения смещения координаты x в FloatMap после масштабирования.
    DoubleProperty offsetY
    Смещение, на которое смещаются все значения смещения координаты y в FloatMap после масштабирования.
    DoubleProperty scaleX
    Коэффициент масштабирования, на который умножаются все значения смещения координаты x в FloatMap.
    DoubleProperty scaleY
    Коэффициент масштабирования, на который умножаются все значения смещения координаты y в FloatMap.
    BooleanProperty wrap
    Определяет, будут ли значения, взятые за пределами границ карты, «перематываться» или нет.
  • Краткое описание конструкторов

    Конструкторы
    Конструктор и описание
    DisplacementMap()
    Создаёт новый экземпляр DisplacementMap с параметрами по умолчанию.
    DisplacementMap(FloatMap mapData)
    Создаёт новый экземпляр DisplacementMap со специфицированными данными карты.
    DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
    Создаёт новый экземпляр DisplacementMap со специфицированными данными карты, смещениями по x и y, масштабированием по x и y.
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод и описание
    Effect getInput()
    Возвращает значение свойства input.
    FloatMap getMapData()
    Возвращает значение свойства mapData.
    double getOffsetX()
    Возвращает значение свойства offsetX.
    double getOffsetY()
    Возвращает значение свойства offsetY.
    double getScaleX()
    Возвращает значение свойства scaleX.
    double getScaleY()
    Возвращает значение свойства scaleY.
    ObjectProperty<Effect> inputProperty()
    Вход для данного Effect.
    boolean isWrap()
    Возвращает значение свойства wrap.
    ObjectProperty<FloatMap> mapDataProperty()
    Данные карты для данного Effect.
    DoubleProperty offsetXProperty()
    Смещение, на которое смещаются все значения смещения координаты x в FloatMap после масштабирования.
    DoubleProperty offsetYProperty()
    Смещение, на которое смещаются все значения смещения координаты y в FloatMap после масштабирования.
    DoubleProperty scaleXProperty()
    Коэффициент масштабирования, на который умножаются все значения смещения координаты x в FloatMap.
    DoubleProperty scaleYProperty()
    Коэффициент масштабирования, на который умножаются все значения смещения координаты y в FloatMap.
    void setInput(Effect value)
    Устанавливает значение свойства input.
    void setMapData(FloatMap value)
    Устанавливает значение свойства mapData.
    void setOffsetX(double value)
    Устанавливает значение свойства offsetX.
    void setOffsetY(double value)
    Устанавливает значение свойства offsetY.
    void setScaleX(double value)
    Устанавливает значение свойства scaleX.
    void setScaleY(double value)
    Устанавливает значение свойства scaleY.
    void setWrap(boolean value)
    Устанавливает значение свойства wrap.
    BooleanProperty wrapProperty()
    Определяет, будут ли значения, взятые за пределами границ карты, «перематываться» или нет.
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробное описание свойства

    • input

      public final ObjectProperty<Effect> inputProperty
      Входное значение для этого Effect. Если установлено значение null или параметр не указан, в качестве входного значения будет использовано графическое изображение Node, к которому прикреплено Effect.

      Значение по умолчанию:

      null

      См. также:

      getInput(), setInput(Effect)

    • mapData

      public final ObjectProperty<FloatMap> mapDataProperty
      Данные карты для этого Effect.

      Значение по умолчанию:

      пустая карта

      См. также:

      getMapData(), setMapData(FloatMap)

    • scaleX

      public final DoubleProperty scaleXProperty
      Коэффициент масштаба, на который умножаются все значения смещения координаты x в FloatMap.
      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

      См. также:

      getScaleX(), setScaleX(double)

    • scaleY

      public final DoubleProperty scaleYProperty
      Коэффициент масштаба, на который умножаются все значения смещения координаты y в FloatMap.
      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

      См. также:

      getScaleY(), setScaleY(double)

    • offsetX

      public final DoubleProperty offsetXProperty
      Смещение, на которое смещаются все значения смещения координаты x в FloatMap после масштабирования.
      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

      См. также:

      getOffsetX(), setOffsetX(double)

    • offsetY

      public final DoubleProperty offsetYProperty
      Смещение, на которое смещаются все значения смещения координаты y в FloatMap после масштабирования.
      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

      См. также:

      getOffsetY(), setOffsetY(double)

    • wrap

      public final BooleanProperty wrapProperty
      Определяет, будут ли значения, взятые за пределами границ карты, "перемещаться" или нет.
      Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a

      Значение по умолчанию:

      false

      См. также:

      isWrap(), setWrap(boolean)

  • Подробное описание конструктора

    • DisplacementMap

      public DisplacementMap()
      Создает новый экземпляр DisplacementMap с параметрами по умолчанию.
    • DisplacementMap

      public DisplacementMap(FloatMap mapData)
      Создает новый экземпляр DisplacementMap с заданными данными карты.

      Параметры:

      mapData - данные карты для этого эффекта смещения

      С момента:

      JavaFX 2.1

    • DisplacementMap

      public DisplacementMap(FloatMap mapData,
                             double offsetX,
                             double offsetY,
                             double scaleX,
                             double scaleY)
      Создает новый экземпляр DisplacementMap с заданными данными карты, смещениями offsetX, offsetY, масштабами scaleX и scaleY.

      Параметры:

      mapData - данные карты для этого эффекта смещения

      С момента:

      JavaFX 2.1

  • Метод Detail

    • setInput

      public final void setInput(Effect value)
      Устанавливает значение свойства input.

      Описание свойства:

      Вход для этого Effect. Если установлено значение null или значение не указано, в качестве входного значения будет использовано графическое изображение Node, к которому прикреплено Effect.

      Значение по умолчанию:

      null

    • getInput

      public final Effect getInput()
      Получает значение свойства input.

      Описание свойства:

      Вход для этого Effect. Если установлено значение null или значение не указано, в качестве входного значения будет использовано графическое изображение Node, к которому прикреплено Effect.

      Значение по умолчанию:

      null

    • inputProperty

      public final ObjectProperty<Effect> inputProperty()
      Вход для этого Effect. Если установлено значение null или значение не указано, в качестве входного значения будет использовано графическое изображение Node, к которому прикреплено Effect.

      Значение по умолчанию:

      null

      См. также:

      getInput(), setInput(Effect)

    • setMapData

      public final void setMapData(FloatMap value)
      Устанавливает значение свойства mapData.

      Описание свойства:

      Данные карты для этого Effect.

      Значение по умолчанию:

      пустая карта

    • getMapData

      public final FloatMap getMapData()
      Получает значение свойства mapData.

      Описание свойства:

      Данные карты для этого Effect.

      Значение по умолчанию:

      пустая карта

    • mapDataProperty

      public final ObjectProperty<FloatMap> mapDataProperty()
      Данные карты для этого Effect.

      Значение по умолчанию:

      пустая карта

      См. также:

      getMapData(), setMapData(FloatMap)

    • setScaleX

      public final void setScaleX(double value)
      Устанавливает значение свойства scaleX.

      Описание свойства:

      Коэффициент масштабирования, на который умножаются все значения смещения по оси x в FloatMap.

      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

    • getScaleX

      public final double getScaleX()
      Получает значение свойства scaleX.

      Описание свойства:

      Коэффициент масштабирования, на который умножаются все значения смещения по оси x в FloatMap.

      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

    • scaleXProperty

      public final DoubleProperty scaleXProperty()
      Коэффициент масштабирования, на который умножаются все значения смещения по оси x в FloatMap.
      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

      См. также:

      getScaleX(), setScaleX(double)

    • setScaleY

      public final void setScaleY(double value)
      Устанавливает значение свойства scaleY.

      Описание свойства:

      Коэффициент масштабирования, на который умножаются все значения смещения по оси y в FloatMap.

      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

    • getScaleY

      public final double getScaleY()
      Получает значение свойства scaleY.

      Описание свойства:

      Коэффициент масштабирования, на который умножаются все значения смещения по оси y в FloatMap.

      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

    • scaleYProperty

      public final DoubleProperty scaleYProperty()
      Коэффициент масштабирования, на который умножаются все значения смещения по оси y в FloatMap.
      Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0

      Значение по умолчанию:

      1.0

      См. также:

      getScaleY(), setScaleY(double)

    • setOffsetX

      public final void setOffsetX(double value)
      Устанавливает значение свойства offsetX.

      Описание свойства:

      Смещение, на которое смещаются все значения смещения по оси x в FloatMap после масштабирования.

      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

    • getOffsetX

      public final double getOffsetX()
      Получает значение свойства offsetX.

      Описание свойства:

      Смещение, на которое смещаются все значения смещения по оси x в FloatMap после масштабирования.

      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

    • offsetXProperty

      public final DoubleProperty offsetXProperty()
      Смещение, на которое смещаются все значения смещения по оси x в FloatMap после масштабирования.
      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

      См. также:

      getOffsetX(), setOffsetX(double)

    • setOffsetY

      public final void setOffsetY(double value)
      Устанавливает значение свойства offsetY.

      Описание свойства:

      Смещение, на которое смещаются все значения смещения по оси y в FloatMap после масштабирования.

      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

    • getOffsetY

      public final double getOffsetY()
      Получает значение свойства offsetY.

      Описание свойства:

      Смещение, на которое смещаются все значения смещения по оси y в FloatMap после масштабирования.

      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

    • offsetYProperty

      public final DoubleProperty offsetYProperty()
      Смещение, на которое смещаются все значения смещения по оси y в FloatMap после масштабирования.
      Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0

      Значение по умолчанию:

      0.0

      См. также:

      getOffsetY(), setOffsetY(double)

    • setWrap

      public final void setWrap(boolean value)
      Устанавливает значение свойства wrap.

      Описание свойства:

      Определяет, будут ли значения, взятые извне границ карты, "обходить" карту или нет.

      Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a

      Значение по умолчанию:

      false

    • isWrap

      public final boolean isWrap()
      Получает значение свойства wrap.

      Описание свойства:

      Определяет, будут ли значения, взятые извне границ карты, "обходить" карту или нет.

      Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a

      Значение по умолчанию:

      false

    • wrapProperty

      public final BooleanProperty wrapProperty()
      Определяет, будут ли значения, взятые извне границ карты, "обходить" карту или нет.
      Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a

      Значение по умолчанию:

      false

      См. также:

      isWrap(), setWrap(boolean)

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API