Эффект — это любое действие, улучшающее внешний вид графики. В JavaFX эффект — это алгоритм, который применяется к узлам для визуального улучшения их внешнего вида. Свойство effect класса Node используется для указания эффекта.
В JavaFX вы можете установить различные эффекты для узла, такие как цветение, размытие и свечение . Каждый из этих эффектов представлен классом, и все эти классы доступны в пакете с именем javafx.scene.effect .
Применение эффектов к узлу
Вы можете применить эффект к узлу, используя метод setEffect () . К этому методу нужно передать объект эффекта.
Чтобы применить эффект к узлу, вам необходимо:
-
Создать узел.
-
Определите соответствующий класс эффекта, который необходимо применить.
-
Установите свойства эффекта.
-
Примените эффект к узлу, используя метод setEffect () .
Создать узел.
Определите соответствующий класс эффекта, который необходимо применить.
Установите свойства эффекта.
Примените эффект к узлу, используя метод setEffect () .
Создание узлов
Прежде всего, создайте узлы в приложении JavaFX путем создания экземпляров их соответствующих классов.
Например, если вы хотите применить эффект свечения к изображению в вашем приложении. Во-первых, вам нужно создать узел изображения путем создания экземпляра класса Image и установить его вид, как показано ниже.
//Creating an image Image image = new Image("https://www.tutorialspoint.com/green/images/logo.png"); //Setting the image view ImageView imageView = new ImageView(image); //Setting the position of the image imageView.setX(100); imageView.setY(70); //setting the fit height and width of the image view imageView.setFitHeight(200); imageView.setFitWidth(400); //Setting the preserve ratio of the image view imageView.setPreserveRatio(true);
Создание соответствующего класса
Создайте класс, представляющий эффект, который необходимо применить к созданному узлу.
Например: чтобы применить эффект свечения, вам нужно создать экземпляр класса Glow, как показано в следующем поле кода:
Glow glow = new Glow();
Установка свойств эффекта
После создания экземпляра класса вам необходимо установить свойства для эффекта, используя методы его установки.
Например — чтобы нарисовать трехмерное поле, вам нужно передать его ширину, высоту и глубину. Вы можете указать эти значения, используя соответствующие методы установки, как показано ниже —
//setting the level property glow.setLevel(0.9);
Добавление эффекта к узлу
Наконец, вы можете применить требуемый эффект к узлу, используя метод setEffect () . Например: чтобы установить эффект свечения для узла изображения, вам нужно передать объект класса Glow этому методу следующим образом:
imageView.setEffect(glow);
Эффекты JavaFX. В следующей таблице приведен список различных эффектов (классов), предоставляемых JavaFX. Эти классы существуют в пакете с именем javafx.scene.effect .
Вы можете настроить цвет изображения, применив к нему эффект регулировки цвета. Это включает в себя регулировку оттенка, насыщенности, яркости и контрастности на каждом пикселе
Класс с именем ColorAdjust пакета javafx.scene.effect представляет эффект корректировки цвета.
Цветовой эффект ввода дает тот же результат, что и при рисовании прямоугольника и его заполнении цветом. В отличие от других эффектов, если этот эффект применяется к любому узлу, он отображает только прямоугольное поле (не узел). Этот эффект в основном используется для передачи в качестве входных данных для других эффектов.
Класс с именем ColorInput пакета javafx.scene.effect представляет эффект ввода цвета.
Эффект ввода изображения в JavaFX просто внедряет изображение на экран JavaFX.
Так же, как эффект «Цветной ввод» (используется для передачи указанной цветной прямоугольной области в качестве входных данных для другого эффекта), эффект «Ввод изображения» используется для передачи указанного изображения в качестве входных данных для другого эффекта.
Класс с именем ImageInput пакета javafx.scene.effect представляет эффект ввода изображения.
В общем, смесь означает смесь двух или более разных вещей или веществ. Если мы применяем этот эффект наложения, он берет пиксели двух разных входов в одном месте и создает комбинированный вывод на основе режима наложения .
Класс с именем Blend пакета javafx.scene.effect представляет эффект наложения .
При применении эффекта Блума пиксели в некоторых частях узла светятся.
Класс с именем Bloom пакета javafx.scene.effect представляет эффект блума .
Как и в случае с Блумом, эффект свечения заставляет данное входное изображение светиться, этот эффект делает яркие пиксели входного изображения ярче.
Класс с именем Glow пакета javafx.scene.effect представляет эффект свечения.
При применении этого эффекта размытия к узлу это становится неясным. Размытие рамки — это своего рода эффект размытия, предоставляемый JavaFX. В этом случае, когда мы применяем размытие к узлу, используется простой блочный фильтр.
Класс с именем BoxBlur пакета javafx.scene.effect представляет эффект boxblur.
Так же, как Box Blur Gaussian — это эффект размытия узлов в JavaFX. Единственная разница в эффекте размытия по Гауссу состоит в том, что для создания эффекта размытия используется ядро гауссовой свертки.
Класс GaussianBlur пакета javafx.scene.effect представляет эффект размытия по Гауссу.
Как и Gaussian Effects, Motion Blur — это эффект размытия узлов в JavaFX. Он также использует ядро гауссовой свертки для создания эффекта размытия, но отличие состоит в том, что ядро гауссовой свертки используется с указанным углом.
Класс с именем MotionBlur пакета javafx.scene.effect представляет эффект размытия движения.
При применении эффекта отражения к узлу в JavaFX его отражение добавляется внизу узла.
Класс с именем Reflection пакета javafx.scene.effect представляет эффект отражения.
Применяя эффект тона Sepia к узлу в JavaFX (изображение в целом), он настраивается на красновато-коричневый цвет.
Класс с именем SepiaTone пакета javafx.scene.effect представляет эффект тона сепии.
Этот эффект создает дубликат указанного узла с размытыми краями.
Класс с именем Shadow пакета javafx.scene.effect представляет эффект тона сепии.
При применении этого эффекта к узлу за указанным узлом будет создана тень.
Класс с именем DropShadow пакета javafx.scene.effect представляет эффект отбрасывания тени.
При применении этого эффекта к узлу, тень будет создана внутри краев узла.
Класс с именем InnerShadow пакета javafx.scene.effect представляет эффект внутренней тени.
Эффект освещения используется для имитации света от источника света. Существуют разные виды источников света, а именно точечные , дальние и точечные .
Класс с именем Lighting пакета javafx.scene.effect представляет эффект освещения.
При применении этого эффекта к узлу на нем моделируется свет, как если бы он генерировался удаленным источником света.
Удаленный источник света — источник, который находится на большом расстоянии от узла. Здесь свет ослабляется в одном направлении от источника.
Класс с именем Light.Distant пакета javafx.scene.effect представляет удаленный источник света.
При применении этого эффекта к узлу на нем моделируется источник света, как если бы он генерировался точечным источником света.
Точечный источник света — свет от этого источника ослабляется во всех направлениях. Интенсивность света зависит от расстояния объекта от источника.
Класс с именем Light.Spot пакета javafx.scene.effect представляет удаленный источник света.
При применении этого эффекта к узлу на нем моделируется свет, как если бы он генерировался точечным источником света.
Точечный источник света — свет от этого источника ослабляется во всех направлениях из одной точки. Интенсивность света зависит от расстояния объекта от источника.
Класс Point.Spot пакета javafx.scene.effect представляет точечный источник света.