Javafx 简明教程

JavaFX - Image Input Effect

JavaFX 中的图像输入效果仅将图像嵌入到 JavaFX 屏幕中。就像在 Color Input 效果中一样,它用于将指定的彩色矩形区域作为输入传递给另一个效果。图像输入效果用于将指定的图像作为输入传递给另一个效果。

应用此效果时,指定的图像将不会被修改。此效果应用于任何节点。

javafx.scene.effect 中名为 ImageInput 的类表示图像输入效果,此类包含三个属性,它们是 −

  1. x − 此属性为 Double 类型;它表示源图像位置的 x 坐标。

  2. y − 此属性为 Double 类型;它表示源图像位置的 y 坐标。

  3. source - 他的属性为 Image 类型;它表示用作此效果源的图像。(作为输入传递)

Example

以下程序是一个演示图像输入效果的示例。在这里,我们在位置 150, 100 创建一个图像输入,并以以下图像(tutorialspoint 徽标)作为此效果的源。

image input effect

我们创建一个矩形,并对它应用这个效果。使用名称 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 窗口。

image input effect example