- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装和架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 2D 形状
- JavaFX - 2D 形状
- JavaFX - 绘制直线
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制弧线
- JavaFX - 绘制 SVGPath
- JavaFX 2D 对象的属性
- JavaFX - 描边类型属性
- JavaFX - 描边宽度属性
- JavaFX - 描边填充属性
- JavaFX - 描边属性
- JavaFX - 描边连接属性
- JavaFX - 描边斜接限制属性
- JavaFX - 描边端点属性
- JavaFX - 平滑属性
- JavaFX 路径对象
- JavaFX - 路径对象
- JavaFX - LineTo 路径对象
- JavaFX - HLineTo 路径对象
- JavaFX - VLineTo 路径对象
- JavaFX - QuadCurveTo 路径对象
- JavaFX - CubicCurveTo 路径对象
- JavaFX - ArcTo 路径对象
- JavaFX 颜色和纹理
- JavaFX - 颜色
- JavaFX - 线性渐变图案
- JavaFX - 径向渐变图案
- JavaFX 文本
- JavaFX - 文本
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 颜色调整效果
- JavaFX - 颜色输入效果
- JavaFX - 图像输入效果
- JavaFX - 混合效果
- JavaFX - 光晕效果
- JavaFX - 辉光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 运动模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 阴影效果
- JavaFX - 投影效果
- JavaFX - 内阴影效果
- JavaFX - 光照效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移映射
- JavaFX - 透视变换
- JavaFX 动画
- JavaFX - 动画
- JavaFX - 旋转转换
- JavaFX - 缩放转换
- JavaFX - 平移转换
- JavaFX - 淡入淡出转换
- JavaFX - 填充转换
- JavaFX - 描边转换
- JavaFX - 顺序转换
- JavaFX - 并行转换
- JavaFX - 暂停转换
- JavaFX - 路径转换
- JavaFX 图像
- JavaFX - 图像
- JavaFX 3D 形状
- JavaFX - 3D 形状
- JavaFX - 创建立方体
- JavaFX - 创建圆柱体
- JavaFX - 创建球体
- 3D 对象的属性
- JavaFX - 剔除面属性
- JavaFX - 绘制模式属性
- JavaFX - 材质属性
- JavaFX 事件处理
- JavaFX - 事件处理
- JavaFX - 使用便捷方法
- JavaFX - 事件过滤器
- JavaFX - 事件处理程序
- JavaFX UI 控件
- JavaFX - UI 控件
- JavaFX - ListView
- JavaFX - Accordion
- JavaFX - ButtonBar
- JavaFX - ChoiceBox
- JavaFX - HTMLEditor
- JavaFX - MenuBar
- JavaFX - Pagination
- JavaFX - ProgressIndicator
- JavaFX - ScrollPane
- JavaFX - Separator
- JavaFX - Slider
- JavaFX - Spinner
- JavaFX - SplitPane
- JavaFX - TableView
- JavaFX - TabPane
- JavaFX - ToolBar
- JavaFX - TreeView
- JavaFX - Label
- JavaFX - CheckBox
- JavaFX - RadioButton
- JavaFX - TextField
- JavaFX - PasswordField
- JavaFX - FileChooser
- JavaFX - Hyperlink
- JavaFX - Tooltip
- JavaFX - Alert
- JavaFX - DatePicker
- JavaFX - TextArea
- JavaFX 图表
- JavaFX - 图表
- JavaFX - 创建饼图
- JavaFX - 创建折线图
- JavaFX - 创建面积图
- JavaFX - 创建条形图
- JavaFX - 创建气泡图
- JavaFX - 创建散点图
- JavaFX - 创建堆积面积图
- JavaFX - 创建堆积条形图
- JavaFX 布局窗格
- JavaFX - 布局窗格
- JavaFX - HBox 布局
- JavaFX - VBox 布局
- JavaFX - BorderPane 布局
- JavaFX - StackPane 布局
- JavaFX - TextFlow 布局
- JavaFX - AnchorPane 布局
- JavaFX - TilePane 布局
- JavaFX - GridPane 布局
- JavaFX - FlowPane 布局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒体
- JavaFX - 处理媒体
- JavaFX - 播放视频
- JavaFX 有用资源
- JavaFX - 快速指南
- JavaFX - 有用资源
- JavaFX - 讨论
JavaFX - 效果
效果是任何增强图形外观的操作。在 JavaFX 中,效果是一种应用于节点以视觉上增强其外观的算法。Node 类的 effect 属性用于指定效果。
在 JavaFX 中,您可以为节点设置各种效果,例如光晕、模糊和辉光。这些效果中的每一个都由一个类表示,所有这些类都位于名为javafx.scene.effect的包中。
将效果应用于节点
您可以使用setEffect()方法将效果应用于节点。对于此方法,您需要传递效果的对象。
要将效果应用于节点,您需要 -
创建节点。
实例化需要应用的效果的相应类。
设置效果的属性。
使用setEffect()方法将效果应用于节点。
创建节点
首先,通过实例化其相应的类在 JavaFX 应用程序中创建节点。
例如,如果要将辉光效果应用于应用程序中的图像。首先,您需要通过实例化 Image 类来创建一个图像节点,并设置其视图,如下所示。
示例
//Creating an image Image image = new Image("https://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 | 颜色调整
您可以通过将颜色调整效果应用于图像来调整图像的颜色。这包括调整每个像素的色调、饱和度、亮度和对比度 名为ColorAdjust的类(位于javafx.scene.effect包中)表示颜色调整效果。 |
2 | 颜色输入
颜色输入效果产生的输出与绘制矩形并用颜色填充它相同。与其他效果不同,如果将此效果应用于任何节点,它只会显示一个矩形框(而不是节点)。此效果主要用作其他效果的输入。 名为ColorInput的类(位于javafx.scene.effect包中)表示颜色输入效果。 |
3 | 图像输入
JavaFX 中的图像输入效果只是将图像嵌入到 JavaFX 屏幕中。 就像颜色输入效果(它用于将指定的彩色矩形区域作为输入传递给其他效果一样),图像输入效果用于将指定的图像作为输入传递给另一个效果。 名为ImageInput的类(位于javafx.scene.effect包中)表示图像输入效果。 |
4 | 混合
通常,混合是指两种或多种不同事物或物质的混合。如果我们应用此混合效果,它将获取两个不同输入在同一位置的像素,并根据混合模式生成组合输出。 名为Blend的类(位于javafx.scene.effect包中)表示混合效果。 |
5 | 光晕
应用光晕效果后,节点某些部分的像素会发光。 名为Bloom的类(位于javafx.scene.effect包中)表示光晕效果。 |
6 | 辉光
与光晕类似,辉光效果使给定的输入图像发光,此效果使输入的亮像素更亮。 名为Glow的类(位于javafx.scene.effect包中)表示辉光效果。 |
7 | 方框模糊
将此模糊效果应用于节点后,节点会变得不清楚。方框模糊是 JavaFX 提供的一种模糊效果。在此效果中,当我们将模糊应用于节点时,会使用一个简单的方框滤镜。 名为BoxBlur的类(位于javafx.scene.effect包中)表示方框模糊效果。 |
8 | 高斯模糊
与方框模糊一样,高斯模糊是用于模糊 JavaFX 中节点的效果。高斯模糊效果的唯一区别在于使用高斯卷积核来产生模糊效果。 名为 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 | 灯光
灯光效果用于模拟光源发出的光。有不同类型的灯光源,即点光源、平行光源和聚光灯。 名为Lighting的类,位于javafx.scene.effect包中,表示灯光效果。 |
16 | Light.Distant
将此效果应用于节点时,会模拟节点上的光线,就像它是由远处的光源产生的。 平行光源 - 一个距离节点很远的源。在这里,光从源向一个方向衰减。 名为Light.Distant的类,位于javafx.scene.effect包中,表示平行光源。 |
17 | Light.Spot
将此效果应用于节点时,会模拟节点上的光线,就像它是由聚光灯产生的。 聚光灯源 - 此光源的光向所有方向衰减。光强取决于物体与光源的距离。 名为Light.Spot的类,位于javafx.scene.effect包中,表示平行光源。 |
18 | Point.Spot
将此效果应用于节点时,会模拟节点上的光线,就像它是由点光源产生的。 点光源 - 此光源的光从一个点向所有方向衰减。光强取决于物体与光源的距离。 名为Point.Spot的类,位于javafx.scene.effect包中,表示点光源。 |