【发布时间】:2017-12-21 01:09:07
【问题描述】:
如何将 javafx.image.Image 保存到 javafxports android 应用程序中的 jpg 文件? 我找不到我唯一创建的 api 是 Android 不支持的 ImageIO。 我需要一些帮助 示例代码:
@覆盖 public void start(Stage primaryStage) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 400, 450);
WritableImage wim = new WritableImage(300, 250);
Canvas canvas = new Canvas(300, 250);
GraphicsContext gc = canvas.getGraphicsContext2D();
drawShapes(gc);
canvas.snapshot(null, wim);
root.getChildren().add(canvas);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
File file = new File("CanvasImage.png");
try {
//on desktop ImageIO.write(SwingFXUtils.fromFXImage(wim, null), "png", file);
// on android ??????????
} catch (Exception s) {
}
}
【问题讨论】:
-
你能澄清一下:你从哪里得到图像?你会把图像保存在哪里?你见过 GoNative sample 吗?它处理Android包上的图像,将它们保存到外部存储公共目录。
-
我用一些代码更改了问题以更好地解释请求
-
因此您希望能够对画布进行快照并将结果存储在 png 文件中。该图像必须存储在哪里?私人存储(以防您以后想检索),还是公共存储(以便能够下载)?