Javafx 简明教程
JavaFX - Image Input Effect
JavaFX 中的图像输入效果仅将图像嵌入到 JavaFX 屏幕中。就像在 Color Input 效果中一样,它用于将指定的彩色矩形区域作为输入传递给另一个效果。图像输入效果用于将指定的图像作为输入传递给另一个效果。
应用此效果时,指定的图像将不会被修改。此效果应用于任何节点。
包 javafx.scene.effect 中名为 ImageInput 的类表示图像输入效果,此类包含三个属性,它们是 −
-
x − 此属性为 Double 类型;它表示源图像位置的 x 坐标。
-
y − 此属性为 Double 类型;它表示源图像位置的 y 坐标。
-
source - 他的属性为 Image 类型;它表示用作此效果源的图像。(作为输入传递)
Example
以下程序是一个演示图像输入效果的示例。在这里,我们在位置 150, 100 创建一个图像输入,并以以下图像(tutorialspoint 徽标)作为此效果的源。
我们创建一个矩形,并对它应用这个效果。使用名称 ImageInputEffectExample.java 将此代码保存在一个文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.ImageInput;
import javafx.scene.image.Image;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class ImageInputEffectExample extends Application {
@Override
public void start(Stage stage) {
//Creating an image
Image image = new Image("http://www.tutorialspoint.com/green/images/logo.png");
//Instantiating the Rectangle class
Rectangle rectangle = new Rectangle();
//Instantiating the ImageInput class
ImageInput imageInput = new ImageInput();
//Setting the position of the image
imageInput.setX(150);
imageInput.setY(100);
//Setting source for image input
imageInput.setSource(image);
//Applying image input effect to the rectangle node
rectangle.setEffect(imageInput);
//Creating a Group object
Group root = new Group(rectangle);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Sample Application");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls ImageInputEffectExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls ImageInputEffectExample
执行后,上述程序会生成如下所示的 JavaFX 窗口。