我有一个实例化的File
对象。我知道它包含图片格式。我不知道文件放在系统的哪个位置,除了我File
可用的getPath(), getAbsolutePath()
方法等。
我的问题是:如何使用Image
中的图片实例化JavaFX File
对象?
答案 0 :(得分:7)
File
提供了检索文件网址的方法,the Image
constructor需要网址String
。
Image imageForFile = new Image(file.toURI().toURL().toExternalForm());
答案 1 :(得分:1)
合并javax.imageio.ImageIO
班级(ref)和javafx.embed.swing.SwingFXUtils
(ref)可以转换"输入" (即:流,文件,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
}
}