Spec-Zone.ru › OpenJavaFX 24

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

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

Тип Свойство Описание
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 со специфицированными данными карты.
DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
Создаёт новый экземпляр DisplacementMap со специфицированными данными карты, смещениями по X и Y, и коэффициентами масштабирования по X и Y.

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

Модификатор и тип Метод Описание
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.
Параметры:
mapData - данные карты для этого эффекта смещения
С:
JavaFX 2.1

DisplacementMap

public DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
Создаёт новый экземпляр DisplacementMap со значениями mapData, offsetX, offsetY, scaleX и scaleY.
Параметры:
mapData - данные карты для этого эффекта смещения
offsetX - смещение по оси x всех значений смещения координат в FloatMap после масштабирования
offsetY - смещение по оси y всех значений смещения координат в FloatMap после масштабирования
scaleX - коэффициент масштабирования по оси x для всех значений смещения координат в FloatMap
scaleY - коэффициент масштабирования по оси y для всех значений смещения координат в FloatMap
С:
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 в 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 в 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 в 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 в 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 в 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 в 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 в 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 в 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 в 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 в 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 и/или его аффилированные лица. Все права защищены.

© 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