将效果应用到节点
您可以使用 setEffect()方法。到这个方法,你需要传递效果的对象。
要将效果应用于节点,您需要 -
-
创建节点。
-
实例化需要应用的相应效果类。
-
设置效果的属性。
-
使用 setEffect() 方法。
创建节点
首先,通过实例化它们各自的类在 JavaFX 应用程序中创建节点。
例如,如果您想对应用程序中的图像应用发光效果。首先,您需要通过实例化 Image 类来创建一个图像节点,并设置其视图,如下所示。
//Creating an image
Image image = new Image("https://www.jc2182.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 类如以下代码框中所示 -
设置效果的属性
实例化该类后,您需要使用其 setter 方法设置效果的属性。
例如 - 要绘制 3 维框,您需要传递其宽度、高度和深度。您可以使用它们各自的 setter 方法指定这些值,如下所示 -
//setting the level property
glow.setLevel(0.9);
向节点添加效果
最后,您可以使用 setEffect()方法。例如:要将发光效果设置到图像节点,您需要将 Glow 类的对象传递给此方法,如下所示 -
imageView.setEffect(glow);
JavaFX Effects- 下表列出了 JavaFX 提供的各种效果(类)。这些类存在于名为javafx.scene.effect.
序号 |
形状和描述 |
1 |
颜色调整
您可以通过对图像应用颜色调整效果来调整图像的颜色。这包括调整hue, saturation, brightness 和 contrast 在每个像素上
类名为 ColorAdjust 包裹的 javafx.scene.effect 表示颜色调整效果。
|
2 |
颜色输入
颜色输入效果提供与绘制矩形并用颜色填充相同的输出。与其他效果不同,如果将此效果应用于任何节点,它只会显示一个矩形框(而不是节点)。此效果主要用于作为其他效果的输入传递。
类名为 ColorInput 包裹的 javafx.scene.effect 表示颜色输入效果。
|
3 |
图像输入
JavaFX 中的图像输入效果只是将图像嵌入到 JavaFX 屏幕中。
就像颜色输入效果(用于将指定的彩色矩形区域作为输入传递给其他效果)一样,图像输入效果用于将指定图像作为输入传递给其他效果。
类名为 ImageInput 包裹的 javafx.scene.effect 表示图像输入效果。
|
4 |
混合
通常,混合是指两种或多种不同事物或物质的混合物。如果我们应用这种混合效果,它会在同一位置获取两个不同输入的像素,并根据blend mode.
类名为 Blend 包裹的 javafx.scene.effect 代表混合效果。
|
5 |
盛开
在应用泛光效果时,节点某些部分的像素会发光。
类名为 Bloom 包裹的 javafx.scene.effect 代表绽放效果。
|
6 |
辉光
就像bloom一样,Glow效果使给定的输入图像发光,这种效果使输入的明亮像素更亮。
类名为 Glow 包裹的 javafx.scene.effect 代表发光效果。
|
7 |
框模糊
将这种模糊效果应用于节点时,不清楚。Box blur是JavaFX提供的一种模糊效果。在这种效果中,当我们对节点应用模糊时,使用了一个简单的盒式过滤器。
类名为 BoxBlur 包裹的 javafx.scene.effect 表示 boxblur 效果。
|
8 |
高斯模糊
就像 Box Blur Gaussian 是一种在 JavaFX 中模糊节点的效果。唯一的区别是Gaussian Blur effect 是使用高斯卷积核来产生模糊效果。
包中名为 GaussianBlur 的类 javafx.scene.effect 代表高斯模糊效果。
|
9 |
运动模糊
就像高斯效果一样,运动模糊是一种在 JavaFX 中模糊节点的效果。它还使用了高斯卷积核来产生模糊效果,但不同的是在这个效果中高斯卷积核是在指定角度下使用的。
类名为 MotionBlur 包裹的 javafx.scene.effect 表示运动模糊效果。
|
10 |
反射
在 JavaFX 中将反射效果应用于节点时,会在节点底部添加它的反射。
类名为 Reflection 包裹的 javafx.scene.effect 表示反射效果。
|
11 |
棕褐色调
将棕褐色调效果应用于 JavaFX 中的节点(一般为图像)时,它会呈现红棕色调。
类名为 SepiaTone 包裹的 javafx.scene.effect 代表棕褐色调效果。
|
12 |
阴影
此效果创建具有模糊边缘的指定节点的副本。
类名为 Shadow 包裹的 javafx.scene.effect 代表棕褐色调效果。
|
13 |
阴影
将此效果应用于节点时,将在指定节点后面创建阴影。
类名为 DropShadow 包裹的 javafx.scene.effect 表示阴影效果。
|
14 |
内心的阴影
将此效果应用于节点时,将在节点的边缘内创建阴影。
类名为 InnerShadow 包裹的 javafx.scene.effect 代表内阴影效果。
|
15 |
灯光
灯光效果用于模拟来自光源的光。有不同种类的光源,即point, distant 和 spot.
类名为 Lighting 包裹的 javafx.scene.effect 代表灯光效果。
|
16 |
光.远
将此效果应用于节点时,会在其上模拟灯光,就好像它是由远处的光源生成的一样。
Distant Light Source− 距离节点较远的源。在这里,光从光源向一个方向衰减。
类名为 Light.Distant 包裹的 javafx.scene.effect 代表远处的光源。
|
17 |
Light.Spot
将此效果应用于节点时,会在其上模拟灯光,就好像它是由聚光灯生成的一样。
Spot light Source− 来自该光源的光向各个方向衰减。光的强度取决于物体与光源的距离。
类名为 Light.Spot 包裹的 javafx.scene.effect 代表远处的光源。
|
18 |
Point.Spot
将此效果应用于节点时,会在其上模拟灯光,就好像它是由点光源生成的一样。
Point Light Source− 来自该光源的光从一个点向各个方向衰减。光的强度取决于物体与光源的距离。
类名为 Point.Spot 包 javafx.scene.effect 代表点光源。
|