Spec-Zone.ru › OpenJavaFX 21

Класс 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

Since:
JavaFX 2.0

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

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

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

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

Краткое описание методов

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

mapData

public final ObjectProperty<FloatMap> mapDataProperty
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта
См. также:
  • getMapData()
  • setMapData(FloatMap)
  • mapDataProperty()

scaleX

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

scaleY

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

offsetX

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

offsetY

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

wrap

public final BooleanProperty wrapProperty
Определяет, будут ли значения, взятые извне границ карты, "заворачиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false
См. также:
  • isWrap()
  • setWrap(boolean)
  • wrapProperty()

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

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 с указанными данными карты, смещениями по оси X и Y, а также коэффициентами масштабирования по осям X и Y.
Параметры:
mapData - данные карты для этого эффекта смещения карты
offsetX - смещение по оси X, на которое смещаются все значения смещения координаты x после масштабирования
offsetY - смещение по оси Y, на которое смещаются все значения смещения координаты y после масштабирования
scaleX - коэффициент масштабирования по оси X, с которым умножаются все значения смещения координаты x
scaleY - коэффициент масштабирования по оси Y, с которым умножаются все значения смещения координаты y
С:
JavaFX 2.1

Подробности метода

setInput

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

getInput

public final Effect getInput()
Получает значение свойства input.
Описание свойства:
Вход для этого Effect. Если установлено значение null или не указано, в качестве входа будет использоваться графическое изображение Node, к которому прикреплен Effect.
Значение по умолчанию:
null
Возвращает:
значение свойства input
См. также:
  • setInput(Effect)
  • inputProperty()

inputProperty

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

setMapData

public final void setMapData(FloatMap value)
Устанавливает значение свойства mapData.
Описание свойства:
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта
Параметры:
value - значение для свойства mapData
См. также:
  • getMapData()
  • mapDataProperty()

getMapData

public final FloatMap getMapData()
Получает значение свойства mapData.
Описание свойства:
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта
Возвращает:
значение свойства mapData
См. также:
  • setMapData(FloatMap)
  • mapDataProperty()

mapDataProperty

public final ObjectProperty<FloatMap> mapDataProperty()
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта
Возвращает:
свойство mapData
См. также:
  • 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
Параметры:
value - значение для свойства scaleX
См. также:
  • getScaleX()
  • scaleXProperty()

getScaleX

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

scaleXProperty

public final DoubleProperty scaleXProperty()
Коэффициент масштабирования по оси X для всех смещений координат X в FloatMap.
       Min: n/a
       Max: n/a
   Default: 1.0
  Identity: 1.0
 
Значение по умолчанию:
1.0
Возвращает:
свойство scaleX
См. также:
  • getScaleX()
  • setScaleX(double)

setScaleY

public final void setScaleY(double value)
Устанавливает значение свойства scaleY.
Описание свойства:
Коэффициент масштабирования по оси Y для всех смещений координат Y в FloatMap.
       Min: n/a
       Max: n/a
   Default: 1.0
  Identity: 1.0
 
Значение по умолчанию:
1.0
Параметры:
value - значение для свойства scaleY
См. также:
  • getScaleY()
  • scaleYProperty()

getScaleY

public final double getScaleY()
Получает значение свойства scaleY.
Описание свойства:
Коэффициент масштабирования по оси Y для всех смещений координат Y в FloatMap.
       Min: n/a
       Max: n/a
   Default: 1.0
  Identity: 1.0
 
Значение по умолчанию:
1.0
Возвращает:
значение свойства scaleY
См. также:
  • setScaleY(double)
  • scaleYProperty()

scaleYProperty

public final DoubleProperty scaleYProperty()
Коэффициент масштабирования по оси Y для всех смещений координат Y в FloatMap.
       Min: n/a
       Max: n/a
   Default: 1.0
  Identity: 1.0
 
Значение по умолчанию:
1.0
Возвращает:
свойство scaleY
См. также:
  • getScaleY()
  • setScaleY(double)

setOffsetX

public final void setOffsetX(double value)
Устанавливает значение свойства offsetX.
Описание свойства:
Смещение по оси X для всех смещений координат X в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Параметры:
value - значение для свойства offsetX
См. также:
  • getOffsetX()
  • offsetXProperty()

getOffsetX

public final double getOffsetX()
Получает значение свойства offsetX.
Описание свойства:
Смещение по оси X для всех смещений координат X в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Возвращает:
значение свойства offsetX
См. также:
  • setOffsetX(double)
  • offsetXProperty()

offsetXProperty

public final DoubleProperty offsetXProperty()
Смещение по оси X для всех смещений координат X в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Возвращает:
свойство offsetX
См. также:
  • getOffsetX()
  • setOffsetX(double)

setOffsetY

public final void setOffsetY(double value)
Устанавливает значение свойства offsetY.
Описание свойства:
Смещение по оси Y для всех смещений координат Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Параметры:
value - значение для свойства offsetY
См. также:
  • getOffsetY()
  • offsetYProperty()

getOffsetY

public final double getOffsetY()
Получает значение свойства offsetY.
Описание свойства:
Смещение по оси Y для всех смещений координат Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Возвращает:
значение свойства offsetY
См. также:
  • setOffsetY(double)
  • offsetYProperty()

offsetYProperty

public final DoubleProperty offsetYProperty()
Смещение по оси Y для всех смещений координат Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
Возвращает:
свойство offsetY
См. также:
  • getOffsetY()
  • setOffsetY(double)

setWrap

public final void setWrap(boolean value)
Устанавливает значение свойства wrap.
Описание свойства:
Определяет, будут ли значения, взятые за пределами границ карты, "перекручиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false
Параметры:
value - значение для свойства wrap
См. также:
  • isWrap()
  • wrapProperty()

isWrap

public final boolean isWrap()
Получает значение свойства wrap.
Описание свойства:
Определяет, будут ли значения, взятые за пределами границ карты, "перекручиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false
Возвращает:
значение свойства wrap
См. также:
  • setWrap(boolean)
  • wrapProperty()

wrapProperty

public final BooleanProperty wrapProperty()
Определяет, будут ли значения, взятые за пределами границ карты, "перекручиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false
Возвращает:
свойство wrap
См. также:
  • 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