效果是增强图形外观的任何操作.在JavaFX中,效果是一种应用于节点以在视觉上增强其外观的算法. Node 类的效果属性用于指定效果.
在JavaFX中,您可以为节点设置各种效果,例如 bloom,模糊和发光.这些效果中的每一个都由一个类表示,所有这些类都在名为 javafx.scene.effect 的包中提供.
您可以使用 setEffect()方法将效果应用于节点.对于此方法,您需要传递效果的对象.
要将效果应用于节点,您需要 :
创建节点.
实例化需要应用的效果的相应类.
设置效果的属性.
将效果应用于节点 setEffect()方法.
首先,通过实例化各自的类来创建JavaFX应用程序中的节点.
例如,如果要将发光效果应用于应用程序中的图像.首先,您需要通过实例化Image类并设置其视图来创建图像节点,如下所示.
//创建图像 Image image = new Image("https://www.it1352.com/green/images/logo.png"); //设置图像视图 ImageView imageView = new ImageView(image); //设置图像的位置 imageView.setX(100); imageView.setY(70); //设置图像视图的拟合高度和宽度 imageView.setFitHeight(200); imageView.setFitWidth(400); //设置图像视图的保留率 imageView.setPreserveRatio(true);
实例化表示需要应用于创建节点的效果的类.
例如 : 要应用发光效果,您需要实例化 Glow 类,如下面的代码框所示 :
Glow glow = new Glow();
实例化类后,需要使用效果设置属性它的setter方法.
例如 : 要绘制三维框,您需要传递其宽度,高度和深度.您可以使用各自的setter方法指定这些值,如下所示 :
//设置level属性 glow.setLevel( 0.9);
最后,您可以使用将所需效果应用于节点setEffect()方法.例如:要将发光效果设置为图像节点,您需要将Glow类的对象传递给此方法,如下所示 :
imageView.setEffect(glow);
JavaFX效果 : 下表提供了JavaFX提供的各种效果(类)的列表.这些类存在于名为 javafx.scene.effect 的包中.
S.No | 形状和描述 |
---|---|
1 | Color Adjust 您可以通过对图像应用颜色调整效果来调整图像的颜色.这包括调整每个像素上的色调,饱和度,亮度和对比度 名为 ColorAdjust的类 javafx.scene.effect 表示颜色调整效果. |
2 | Color Input 颜色输入效果提供与绘制矩形并用颜色填充相同的输出.与其他效果不同,如果此效果应用于任何节点,则它仅显示矩形框(而不是节点).此效果主要用于传递作为其他效果的输入. 包 javafx.scene.effect ColorInput 的类>表示颜色输入效果. |
3 | Image Input JavaFX中的图像输入效果只是嵌入JavaFX屏幕上的图像. 就像颜色输入效果(它用于将指定的彩色矩形区域作为输入传递给其他效果),图像输入效果用于传递指定的图像作为另一种效果的输入. 包 javafx.scene.effect 的名为 ImageInput 的类表示图像输入效果. |
4 | Blend 一般来说,混合是指两种或更多种不同的东西或物质.如果我们应用这种混合效果,它会在同一位置获取两个不同输入的像素,并根据混合模式生成一个组合输出. 包 javafx.scene.effect 的名为 Blend 的类表示混合效果. |
5 | Bloom 在应用bloom效果时,节点的某些部分的像素会发光. 名为的类包 javafx.scene.effect 的Bloom 表示绽放效果. |
6 | Glow 就像bloom一样,Glow效果使给定的输入图像发光,这种效果使输入的亮像素更亮. 名为class包 javafx.scene.effect 的 Glow 呈现发光效果. |
7 | Box Blur 将此模糊效果应用于节点时,它不清楚. Box blur是JavaFX提供的一种模糊效果.在此效果中,当我们将模糊应用于节点时,会使用一个简单的框过滤器. 包 javafx.scene的名为 BoxBlur 的类.effect 表示boxblur效果. |
8 | GaussianBlur 就像Box Blur一样高斯是一种模糊JavaFX中节点的效果. 高斯模糊效应的唯一区别是高斯卷积核用于产生模糊效果. 包的名为GaussianBlur的类javafx.scene.effect 表示高斯模糊效果. |
9 | MotionBlur 就像高斯效果一样,运动模糊是一种模糊JavaFX节点的效果.它还使用高斯卷积核来产生模糊效果,但不同之处在于高斯卷积核以指定角度使用. 名为 MotionBlur |
10 | Reflection 在将反射效果应用于JavaFX中的节点时,会在节点的底部添加对它的反射. 名为的类包 javafx.scene.effect 的反射表示反射效果. |
11 | SepiaTone 将棕褐色调效果应用于JavaFX中的节点(一般图像)时,它的颜色为红棕色. 包 javafx.scene.effect 的名为 SepiaTone 的类表示棕褐色调效果. |
12 | Shadow 此效果会创建具有模糊边缘的指定节点的副本. 名为的类包 javafx.scene.effect 的阴影表示棕褐色调效果. |
13 | DropShadow 将此效果应用于节点时,将在指定节点后面创建阴影. 名为 DropShadow javafx.scene.effect 的>代表投影效果. |
14 | InnerShadow 将此效果应用于节点时,将在节点边缘内创建阴影. 名为的类软件包 javafx.scene.effect 的InnerShadow 表示内部阴影效果. |
15 | Lighting 灯光效果用于模拟来自光源的光线.有不同种类的光源,即点,遥远和点. 名为<包 javafx.scene.effect 的灯光表示灯光效果. |
16 | Light.Distant 在将此效果应用于节点时,会在其上模拟灯光,就像它是由远距离光源生成一样. 遥远的光源 : 距离节点很远的源.在这里,光从光源的一个方向衰减. 包 javafx.scene.effect <的 Light.Distant 类/b>代表遥远的光源. |
17 | Light.Spot 关于应用此效果在一个节点上,在它上面模拟一个光,好像它是由聚光灯产生的. 聚光源 : 来自该光源的光在所有方向上衰减.光的强度取决于物体与光源的距离. 包 javafx.scene的名为 Light.Spot 的类.效果代表遥远的光源. |
18 | Point.Spot 申请时这个效果对一个节点,在它上面模拟一个光,好像它是由点光源产生的. 点光源 : 来自该光源的光从单个点向所有方向衰减.光的强度取决于物体与光源的距离. 包的名称 Point.Spot javafx.scene .effect 表示点光源. |