JavaFX第五篇 Image图片加载处理

本文介绍了JavaFX中如何使用Image类加载和展示图片,包括从网络、本地和ClassPath加载图片的方法,并通过ImageView进行显示。示例代码展示了不同加载方式,如调整尺寸和比例。文章还提供了代码仓库链接,供读者参考学习JavaFX客户端应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaFX第五篇 Image图片加载处理

图片已经成为每个网站的必备了,不仅可以提升个人网站的标识度而且还可以美化网站,
所以这里需要讲解一下如何加载图片,展示到前台给用户查看。
本次只是简单的讲解如何展示使用,具体的API可以到官网或网上查找资料。

在这里插入图片描述

1. 代码

这里演示的只是展示一张普通的png图片,
逻辑和注意事项可以查看注释。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.io.IOException;
import java.net.URL;

/**
 * 图片演示: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/Image.html
 *
 * 支持图片的格式:BMP、GIF、JPEG、PNG
 */
public class ImageDemo extends Application {
    /**
     * 程序入口
     *
     * @param args 参数
     */
    public static void main(String[] args) {
        launch(args);
    }

    /**
     * 加载图片
     *
     * 在后台加载图像,在加载时显示占位符(假设有一个ImageView节点在某处显示此图像)。该图像位于类路径的默认包中
     * Image image1 = new Image("/flower.png", true);
     *
     * 加载图像并将其大小调整为100x150,而不保留其原始宽高比。类路径的Res包
     * Image image2 = new Image("my/res/flower.png", 100, 150, false, false);
     *
     * 加载图像并将其宽度调整为100,同时保留其原始长宽比,使用更快的过滤方法
     * Image image3 = new Image("http://sample.com/res/flower.png", 100, 0, false, false);
     *
     * 加载图像并仅在一维上将其调整为100的高度和原始宽度,而不保留原始长宽比。图像位于当前工作目录中
     * Image image4 = new Image("file:flower.png", 0, 100, false, false);
     *
     * @param stage 舞台
     */
    @Override
    public void start(Stage stage) throws IOException {
        // 这里是之间加载静态文件里面文件
        Image image = new Image("static/img/yiyi-fx.png");
        ImageView imageView = new ImageView();
        imageView.setImage(image);
        StackPane pane = new StackPane();
        pane.getChildren().add(imageView);
        Scene scene = new Scene(pane, 800, 600);
        stage.setTitle("标题信息");
        stage.setScene(scene);
        stage.show();
    }
}

目录结构如下图所示:

在这里插入图片描述

可以看到采用ClassPath方式,直接相对于classes文件夹。
在这里插入图片描述

运行结果:
在这里插入图片描述

2. 讲解

Image这个类就是控制图像,可以从本地、远程服务器上加载图像。
官网地址:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/Image.html

  • 可以调整图片大小(高度、宽度)

  • 纵横比缩放

这里加载图片的方式有三种:

  1. 网络URL: new Image(“https://gitee.com/jack0240/one-by-one/raw/master/yiyi.png”);
  2. 本地:new Image(“file:D://yiyi.png”);或者之间把前缀file:去掉。
  3. ClassPath:new Image(“static/img/yiyi-fx.png”); 这里相对于打包后的classes文件夹。

ImageView 加载到场景里面的节点,用于绘制加载图像类的图像。
官网地址:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html

  • 调整显示图像的大小(保留或不保留原始纵横比)
  • 2D(旋转)
  • smooth

3. 代码仓

https://gitee.com/jack0240/yiyi-fx
这里是一一系统的JavaFX技术的衍生版,
主要是搭建Java客户端应用的快速快速开发。
JavaFX基础框架,一一出品,必出精品。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack魏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值