本文概述
此效果用于减轻光源中的节点。有多种光源, 即点光源, 远距离光源和点光源。类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) |
建设者
该类包含两个构造函数。
- public Lighting():使用光源的默认值创建一个Lighting的新实例。
- 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 {
@Override
public 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.srcmini02.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);
}
}
评论前必须登录!
注册