JavaFx中的Image和ImageView

image 要转换成ImageView 对象才可以添加到结点中

@Override
    public void start(Stage stage) {
        stage.setTitle("测试窗口");
        Pane pane = new Pane();
        Scene scene = new Scene(pane,200,200);
        Image image1 = new Image("file:/Users/lufei/NetBeansProjects/myImage/src/main/java/com/mycompany/myimage/test.gif");
        ImageView imageView1 = new ImageView(image1);
        pane.getChildren().add(imageView1);
        stage.setScene(scene);
        stage.show();
    }
Image("file:/Users/lufei/NetBeansProjects/myImage/src/main/java/com/mycompany/myimage/test.gif",400D,400D,true,true);

第三个参数保留高宽比为真
第四个参数平滑转换为真

ImageView对象也可以通过使用一些属性设置方法来设置相应的属性来调整大小。

ImageView imageView1 = new ImageView(image1);
imageView1.setFitHeight(300D);
imageView1.setFitWidth(300D);
imageView1.setPreserveRatio(true);

这两种方法的区别:
在第二个窗口中,完整大小的对象被加载并转换为更小的大小,仅用于此视图。
在第一个示例中,图像在加载时被转换,因此完整的细节不再可用。

另一特点:
制定视图端口大小

Rectangle2D viewport = new Rectangle2D(200,200,100,100);
//前两个为图片左上角坐标,后两个为宽度和长度        
ImageView imageView1 = new ImageView(image1);
imageView1.setViewport(viewport);        

版权声明:本文为qq_43077318原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。