- JavaFX Tutorial
- JavaFX - Home
- JavaFX - Overview
- JavaFX - Environment
- JavaFX - Architecture
- JavaFX - Application
- JavaFX - 2D Shapes
- JavaFX - Text
- JavaFX - Effects
- JavaFX - Transformations
- JavaFX - Animations
- JavaFX - Colors
- JavaFX - Images
- JavaFX - 3D Shapes
- JavaFX - Event Handling
- JavaFX - UI Controls
- JavaFX - Charts
- JavaFX - Layout Panes
- JavaFX - CSS
- JavaFX Useful Resources
- JavaFX - Quick Guide
- JavaFX - Useful Resources
- JavaFX - Discussion
JavaFX - 效果
效果是增强图形外观的任何操作。在 JavaFX 中,效果是一种应用于节点以增强其视觉外观的算法。Node类的effect 属性用于指定效果。
在JavaFX中,您可以为节点设置各种效果,例如绽放、模糊和发光。这些效果中的每一个都由一个类表示,并且所有这些类都在名为javafx.scene.effect的包中可用。
将效果应用到节点
您可以使用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();
设置效果的属性
实例化该类后,您需要使用其 setter 方法设置效果的属性。
例如 - 要绘制 3 维盒子,您需要传递其宽度、高度和深度。您可以使用各自的 setter 方法指定这些值,如下所示 -
//setting the level property glow.setLevel(0.9);
给节点添加效果
最后,您可以使用setEffect()方法将所需的效果应用于节点。例如:要为图像节点设置发光效果,您需要将 Glow 类的对象传递给此方法,如下所示 -
imageView.setEffect(glow);
JavaFX 效果- 下表列出了 JavaFX 提供的各种效果(类)。这些类存在于名为javafx.scene.effect的包中。
序列号 | 形状及描述 |
---|---|
1 | 色彩调整
您可以通过应用颜色调整效果来调整图像的颜色。这包括调整每个像素的色调、饱和度、亮度和对比度 javafx.scene.effect包中名为ColorAdjust的类表示颜色调整效果。 |
2 | 颜色输入
颜色输入效果提供与绘制矩形并用颜色填充它相同的输出。与其他效果不同,如果将此效果应用于任何节点,它仅显示一个矩形框(而不是节点)。此效果主要用于作为其他效果的输入传递。 javafx.scene.effect包中名为ColorInput的类表示颜色输入效果。 |
3 | 图像输入
JavaFX 中的图像输入效果只是将图像嵌入到 JavaFX 屏幕中。 就像颜色输入效果(用于将指定的彩色矩形区域作为输入传递给其他效果)一样,图像输入效果用于将指定的图像作为输入传递给另一个效果。 javafx.scene.effect包中名为ImageInput的类表示图像输入效果。 |
4 | 混合
一般来说,混合是指两种或多种不同事物或物质的混合物。如果我们应用此混合效果,它将在同一位置获取两个不同输入的像素,并根据混合模式生成组合输出。 javafx.scene.effect包中名为Blend的类代表混合效果。 |
5 | 盛开
应用光晕效果时,节点某些部分的像素会发光。 javafx.scene.effect包中名为Bloom的类表示绽放效果。 |
6 | 辉光
就像绽放一样,发光效果使给定的输入图像发光,此效果使输入的明亮像素更亮。 javafx.scene.effect包中名为Glow的类代表发光效果。 |
7 | 盒子模糊
将这种模糊效果应用于节点时,它会变得不清楚。框模糊是JavaFX提供的一种模糊效果。在这种效果中,当我们对节点应用模糊时,会使用一个简单的盒式滤镜。 javafx.scene.effect包中名为BoxBlur的类表示 boxblur 效果。 |
8 | 高斯模糊
就像Box Blur Gaussian一样,是JavaFX中模糊节点的效果。高斯模糊效果唯一的区别是使用高斯卷积核来产生模糊效果。 javafx.scene.effect包中名为GaussianBlur的类代表高斯模糊效果。 |
9 | 运动模糊
就像高斯效果一样,运动模糊是 JavaFX 中模糊节点的效果。它同样使用高斯卷积核来产生模糊效果,但不同之处在于该效果使用了指定角度的高斯卷积核。 javafx.scene.effect包中名为MotionBlur的类表示运动模糊效果。 |
10 | 反射
在 JavaFX 中将反射效果应用于节点时,会在节点底部添加反射效果。 javafx.scene.effect包中名为Reflection的类代表反射效果。 |
11 |
棕褐色调
将棕褐色色调效果应用于 JavaFX 中的节点(一般图像)时,它的色调为红棕色。 javafx.scene.effect包中名为SepiaTone的类表示棕褐色调效果。 |
12 | 阴影
此效果会创建具有模糊边缘的指定节点的副本。 javafx.scene.effect包中名为Shadow的类表示棕褐色调效果。 |
13 | 阴影
将此效果应用于节点时,将在指定节点后面创建阴影。 javafx.scene.effect包中名为DropShadow的类表示投影效果。 |
14 | 内心的阴影
将此效果应用于节点时,将在节点边缘内创建阴影。 javafx.scene.effect包中名为InnerShadow的类表示内阴影效果。 |
15 | 灯光
照明效果用于模拟来自光源的光。光源有不同种类,即点光源、远光源和聚光光源。 javafx.scene.effect包中名为Lighting的类表示光照效果。 |
16 | 光.远
将此效果应用于节点时,会在其上模拟光,就好像它是由远处的光源生成的一样。 远光源- 距离节点较远的光源。在这里,光在来自光源的一个方向上被衰减。 javafx.scene.effect包中名为Light.Distant的类表示远距离光源。 |
17 号 | 光点
将此效果应用于节点时,会在其上模拟光,就好像它是由聚光灯生成的一样。 聚光光源- 来自该光源的光在各个方向上衰减。光的强度取决于物体距光源的距离。 javafx.scene.effect包中名为Light.Spot 的类代表远处的光源。 |
18 | 点.点
将此效果应用于节点时,会在其上模拟光,就好像它是由点光源生成的一样。 点光源- 来自该光源的光从单个点向所有方向衰减。光的强度取决于物体距光源的距离。 javafx.scene.effect 包中名为Point.Spot 的类表示点光源。 |