JavaFX灯光效果

本文概述

  • 物产
  • 建设者
此效果用于减轻光源中的节点。有多种光源, 即点光源, 远距离光源和点光源。类javafx.scene.effect.Lighting表示照明效果。我们需要实例化此类, 以便在节点上产生适当的效果。
物产 下表描述了该类的属性以及setter方法。
属性 描述 设置方法
bumpInput 它是一个效果对象类型属性。它代表效果的凹凸贴图输入。 setBumpInput(Effect value)
contentInput 它是一个效果对象类型属性。它代表效果的内容输入。 setContentInput(Effect value)
diffuseConstant 它是Double类型的属性。它代表扩散常数。 setDiffuseConstant(Double value)
light 它是一个Light对象类型属性。它代表效果的光源。 setLight(Light value)
specularConstant 这是一个双精度类型的属性。它代表镜面常数。 setSpecularConstant(double value)
specularExponent 这是一个双精度类型的属性。它代表镜面指数。 setSpecularExponent(double value)
surfaceScale 它是double类型的属性。它代表灯光的表面比例。 setSurfaceScale(double value)
建设者 【JavaFX灯光效果】该类包含两个构造函数。
  1. public Lighting():使用光源的默认值创建一个Lighting的新实例。
  2. public Lighting(Light light):创建一个具有指定光源值的Lighting的新实例。
例:
package application; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.effect.Lighting; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; public class LightingExample1 extends Application { @Overridepublic void start(Stage stage) {Text text = new Text(); text.setFont(Font.font(null, FontWeight.BOLD, 35)); text.setX(60); text.setY(100); text.setText("Welcome to srcmini"); text.setFill(Color.GREEN); Image img = new Image("https://www.srcmini.com/operating-system/images/operating-system-tutorial.png"); ImageView imgview = new ImageView(img); imgview.setX(150); imgview.setY(200); Lighting lighting = new Lighting(); text.setEffect(lighting); imgview.setEffect(lighting); Group root = new Group(text, imgview); Scene scene = new Scene(root, 580, 420); stage.setTitle("lighting effect example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }

JavaFX灯光效果

文章图片

    推荐阅读