如何在 JavaFX 中查看多张图片?


javafx.scene.image.Image 类用于在 JavaFX 应用程序中加载图像。这支持 BMP、GIF、JPEG 和 PNG 格式。

JavaFX 提供一个名为 javafx.scene.image.ImageView 的类,此类是一个用于显示加载的图像的节点。

  • 图像视图节点的 fitHeight 属性表示要显示图像在其内部的边框框的高度。可以使用 setFitHeight() 方法为该属性设置值。

  • 图像视图节点的 fitWidth 属性表示要显示图像在其内部的边框框的宽度。可以使用 setFitWidth() 方法为该属性设置值。

  • 属性 x 和 y 表示图像视图原点的坐标。可以使用 setX()setY() 方法分别为这些属性设置值。

使用这些方法,可以在单个图像视图中设置多张图片。

示例

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ViewingMultipleImages extends Application {
   public void start(Stage stage) throws IOException {
      //creating the image object
      InputStream stream = new FileInputStream("D:\images\elephant.jpg");
      Image image = new Image(stream);
      //Creating the image view
      ImageView imageView1 = new ImageView(image);
      //Setting the image view parameters
      imageView1.setX(10);
      imageView1.setY(10);
      imageView1.setFitWidth(200);
      imageView1.setPreserveRatio(true);
      ImageView imageView2 = new ImageView(image);
      //Setting the image view parameters
      imageView2.setX(230);
      imageView2.setY(10);
      imageView2.setFitWidth(350);
      imageView2.setPreserveRatio(true);
      //Setting the view port
      Rectangle2D rect2 = new Rectangle2D(45, 30, 250, 250);
      imageView2.setViewport(rect2);
      Image image2 = new Image(new FileInputStream("D:\images\boy.jpg"));
      //Creating the image view
      ImageView imageView3 = new ImageView(image2);
      //Setting the image view parameters
      imageView3.setX(10);
      imageView3.setY(200);
      imageView3.setFitWidth(200);
      imageView3.setPreserveRatio(true);
      //Setting the Scene object
      Group root = new Group(imageView1, imageView2, imageView3);
      Scene scene = new Scene(root, 595, 370, Color.BEIGE);
      stage.setTitle("Multiple Images");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]) {
      launch(args);
   }
}

输出

更新于: 16-May-2020

1K+ 浏览量

开启您的 职业生涯

完成课程即可获得认证

开始使用
广告