[英]Javafx image from download link
我将图像上传到后端并生成下载链接,我想下载图像并将其显示在javafx中,我发现此解决方案:
ImageView imageView = ImageViewBuilder.create()
.image(new Image(imageSource))
.build();
但是我正在使用JavaFx 11,并且在我的javafx场景imageView包中似乎没有ImageViewBuilder这样的东西? 有什么想法或替代方法吗?
不久之前不推荐使用构建器类。 有关更多信息,请参见JDK-8124188 , JDK-8092861和此邮件列表 。 也就是说, Image
类仍然可以加载远程图像,但是您应该使用构造函数而不是构造函数。
从文档 ( 重点是我的):
Image
类表示图形图像,用于从指定的URL
加载图像。支持的图像格式为:
- 骨形态发生蛋白
- GIF
- JPEG格式
- PNG
可以在加载图像时调整图像的大小(例如,以减少图像消耗的内存量)。 应用程序可以指定缩放时使用的过滤质量,以及是否保留原始图像的宽高比。
URL支持的所有
URL
都可以传递给构造函数。 如果传递的字符串不是有效的URL
,而是一个路径,那么在这种情况下,将在类路径上搜索Image
。使用
ImageView
显示此类加载的图像。 同一Image
实例可以由多个ImageView
显示。
因此,您可以使用:
String remoteUrl = ...;
Image image = new Image(remoteUrl);
ImageView view = new ImageView(image);
// or...
ImageView view = new ImageView(remoteUrl);
第二个选项利用了ImageView(String)
构造函数。 请注意,它阻止您在后台加载图像(无自定义代码),而Image
的构造函数为其提供了一个选项。 如果要控制自己的InputStream
也可以使用适当的Image
构造函数来实现; 在这种情况下,请不要忘记关闭InputStream
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.