我试过使用函数
SwingFXUtils.fromFXImage
引发NoClassFoundError异常。如何在Gluon mobile上保存图像?
答案 0 :(得分:1)
SwingFXUtils
或任何与Swing相关的类。
根据您的评论,您正在使用Charm Down PicturesService
从相机中检索图像并将其显示在ImageView
控件上:
Services.get(PicturesService.class).ifPresent(service ->
service.takePhoto(false).ifPresent(imageView::setImage));
现在您要将该图像保存到设备上的私人/公共存储位置。
如果您检查takePhoto
的{{3}},它有一个savePhoto
参数,可用于保存图片:
// take photo and save picture
Services.get(PicturesService.class).ifPresent(service ->
service.takePhoto(true).ifPresent(imageView::setImage));
现在,如果您有API的实施方式,您可以在外部存储空间下找到照片:
File photo = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "IMG_"+ timeStamp + ".jpg");
您可以在/sdcard/Pictures
。
此外,您可以使用StorageService
和getPublicStorage("Pictures")
,并通过目录检索最后添加的文件:
File picturesDir = Services.get(StorageService.class)
.flatMap(s -> s.getPublicStorage("Pictures"))
.orElseThrow(() -> new RuntimeException("Error retrieving public storage"));
for (File pic : picturesDir.listFiles()) {
System.out.println("file " + pic.getName());
}