JavaFX InnerShadow类

通过将此效果应用到节点,阴影显示在节点的边缘内部。类javafx.scene.effect.InnerShadow表示 InnerShadow 效果。我们只需要实例化这个类就可以产生合适的效果。

1 InnerShadow类的属性

属性 描述 setter方法
blurType 表示用于模糊阴影的算法 setBlurType(BlurType value)
choke 属性为双重类型。这代表了阴影的窒息 setChoke(Double value)
color 阴影模糊内核的颜色。此属性为颜色类型 setColor(Color value)
height 表示阴影模糊内核的高度。此属性为双重类型 setHeight(Double value)
input 表示效果的输入 setInput(Effect value)
offsetX 表示阴影偏移的 X 坐标。这正确地是双重类型 setOffsetX(Double value)
offsetY 表示阴影偏移的 Y 坐标。此属性为双重类型 setOffsetY(Double value)
Radius 表示阴影模糊内核的半径 setRadius(Double value)
Width 表示阴影模糊内核的宽度 setWidth(double value)

2 InnerShadow类的构造函数

该类包含下面描述的四个构造函数。

  1. public InnerShadow() :使用默认参数创建实例。
  2. public InnerShadow(double radius, Color color) :创建具有指定半径和颜色值的实例。
  3. public InnerShadow(double radius, double offsetX, double offsetY, Color color) :创建具有指定半径、偏移量和颜色值的实例。
  4. public InnerShadow(BlurType blurtype, Color color, double radius, double choke, double offsetX, double offsetY) :创建具有指定 BlurType 的实例。颜色、半径、阻塞和偏移值。

3  InnerShadow类的例子

package com.yiidian;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.BlurType;
import javafx.scene.effect.InnerShadow;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class ShadowExample extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        Image img = new Image("http://www.yiidian.com/statics/images/logo.png");
        ImageView imgview = new ImageView(img);
        imgview.setFitHeight(100);  
        imgview.setFitWidth(350);  
        imgview.setX(100);  
        imgview.setY(100);  
        InnerShadow shadow = new InnerShadow();
        shadow.setBlurType(BlurType.GAUSSIAN);
        shadow.setColor(Color.RED);
        shadow.setHeight(25);  
        shadow.setRadius(12);  
        shadow.setWidth(20);  
        shadow.setChoke(0.9);  
        imgview.setEffect(shadow);  
        Group root = new Group();
        root.getChildren().add(imgview);  
        Scene scene = new Scene(root,600,350);
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:InnerShadow Effect Example");
        primaryStage.show();      
    }  
    public static void main(String[] args) {
        launch(args);
    }
  
}  

输出结果为:

热门文章

优秀文章