JavaFX Lighting类
此效果用于从光源照亮节点。有各种类型的光源,即点光源、远距离光源和点光源。类javafx.scene.effect.Lighting表示照明效果。我们需要实例化这个类,以便在节点上产生适当的效果。
1 Lighting类的属性
属性 | 描述 | setter方法 |
---|---|---|
bumpInput | 它是一个 Effect 对象类型属性。它表示效果的凹凸贴图输入 | setBumpInput(Effect value) |
contentInput | 它是一个 Effect 对象类型属性。它代表 Effect 的内容输入 | setContentInput(Effect value) |
diffuseConstant | 它是一个 Double 类型的属性。它表示漫反射常数 | setDiffuseConstant(Double value) |
light | 它是一个 Light 对象类型属性。它代表效果的光源 | setLight(Light value) |
specularConstant | 它是一个双重类型的属性。它代表镜面反射常数 | setSpecularConstant(double value) |
specularExponent | 它是一个双重类型的属性。它代表镜面反射指数 | setSpecularExponent(double value) |
surfaceScale | 它是双重类型的属性。它代表灯光的表面比例 | setSurfaceScale(double value) |
2 Lighting类的构造函数
该类包含下面描述的两个构造函数。
- public Lighting() :使用默认值光源创建一个新的Lighting实例。
- public Lighting(Light light) :使用指定的光源值创建一个新的Lighting实例。
3 Lighting类的例子
package com.yiidian;
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.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
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("欢迎访问一点教程网");
text.setFill(Color.GREEN);
Image img = new Image("http://www.yiidian.com/statics/images/logo.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);
}
}
输出结果为:
热门文章
优秀文章