Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.graphics
Пакет 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);
    
     

    Код выше производит следующее:

    The visual effect of
 DisplacementMap on text

    С момента:
    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 с указанными данными карты, offsetX, offsetY, scaleX и scaleY.
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод Описание
    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 - данные карты для этого эффекта смещения
      offsetX - смещение, с которым смещаются все значения смещения координаты x в FloatMap после масштабирования
      offsetY - смещение, с которым смещаются все значения смещения координаты y в FloatMap после масштабирования
      scaleX - коэффициент масштабирования, с которым умножаются все значения смещения координаты x в FloatMap
      scaleY - коэффициент масштабирования, с которым умножаются все значения смещения координаты y в FloatMap
      С тех пор как:
      JavaFX 2.1
  • Method Detail

    • setInput

      public final void setInput​(Effect value)
      Задает значение свойства input.
      Property description:
      Входные данные для этого Effect. Если установлено в null или не указано, графическое изображение Node, к которому прикреплен Effect, будет использоваться в качестве входных данных.
      Default value:
      null
    • getInput

      public final Effect getInput()
      Возвращает значение свойства input.
      Property description:
      Входные данные для этого Effect. Если установлено в null или не указано, графическое изображение Node, к которому прикреплен Effect, будет использоваться в качестве входных данных.
      Default value:
      null
    • inputProperty

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

      public final void setMapData​(FloatMap value)
      Задает значение свойства mapData.
      Property description:
      Данные карты для этого Effect.
      Default value:
      an empty map
    • getMapData

      public final FloatMap getMapData()
      Возвращает значение свойства mapData.
      Property description:
      Данные карты для этого Effect.
      Default value:
      an empty map
    • mapDataProperty

      public final ObjectProperty<FloatMap> mapDataProperty()
      Данные карты для этого Effect.
      Default value:
      an empty map
      See Also:
      getMapData(), setMapData(FloatMap)
    • setScaleX

      public final void setScaleX​(double value)
      Задает значение свойства scaleX.
      Property description:
      Коэффициент масштабирования, на который умножаются все значения смещения координаты x в FloatMap.
             Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0
       
      Default value:
      1.0
    • getScaleX

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

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

      public final void setScaleY​(double value)
      Задает значение свойства scaleY.
      Property description:
      Коэффициент масштабирования, на который умножаются все значения смещения координаты y в FloatMap.
             Min: n/a
             Max: n/a
         Default: 1.0
        Identity: 1.0
       
      Default value:
      1.0
    • getScaleY

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

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

      public final void setOffsetX​(double value)
      Задает значение свойства offsetX.
      Property description:
      Смещение, на которое смещаются все значения смещения координаты x в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
    • getOffsetX

      public final double getOffsetX()
      Возвращает значение свойства offsetX.
      Property description:
      Смещение, на которое смещаются все значения смещения координаты x в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
    • offsetXProperty

      public final DoubleProperty offsetXProperty()
      Смещение, на которое смещаются все значения смещения координаты x в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
      See Also:
      getOffsetX(), setOffsetX(double)
    • setOffsetY

      public final void setOffsetY​(double value)
      Задает значение свойства offsetY.
      Property description:
      Смещение, на которое смещаются все значения смещения координаты y в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
    • getOffsetY

      public final double getOffsetY()
      Возвращает значение свойства offsetY.
      Property description:
      Смещение, на которое смещаются все значения смещения координаты y в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
    • offsetYProperty

      public final DoubleProperty offsetYProperty()
      Смещение, на которое смещаются все значения смещения координаты y в FloatMap после их масштабирования.
             Min: n/a
             Max: n/a
         Default: 0.0
        Identity: 0.0
       
      Default value:
      0.0
      See Also:
      getOffsetY(), setOffsetY(double)
    • setWrap

      public final void setWrap​(boolean value)
      Задает значение свойства wrap.
      Property description:
      Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.
             Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a
       
      Default value:
      false
    • isWrap

      public final boolean isWrap()
      Возвращает значение свойства wrap.
      Property description:
      Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.
             Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a
       
      Default value:
      false
    • wrapProperty

      public final BooleanProperty wrapProperty()
      Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.
             Min:  n/a
             Max:  n/a
         Default: false
        Identity:  n/a
       
      Default value:
      false
      See Also:
      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