如何从绝对路径创建JavaFX图像?

时间:2016-05-30 08:48:35

标签: java file javafx path

我有一个实例化的File对象。我知道它包含图片格式。我不知道文件放在系统的哪个位置,除了我File可用的getPath(), getAbsolutePath()方法等。

我的问题是:如何使用Image中的图片实例化JavaFX File对象?

2 个答案:

答案 0 :(得分:7)

File提供了检索文件网址的方法,the Image constructor需要网址String

Image imageForFile = new Image(file.toURI().toURL().toExternalForm());

答案 1 :(得分:1)

合并javax.imageio.ImageIO班级(ref)和javafx.embed.swing.SwingFXUtilsref)可以转换"输入" (即:流,文件,URL)到JavaFX图像。示例代码(适用于File):

public static Image readImage(File file) {
    try {
        BufferedImage bimg = ImageIO.read(file);
        return SwingFXUtils.toFXImage(bimg, null);
    }
    catch( IOException e ) {
        // do something, probably throw some kind of RuntimeException
    }
}