在Codename One项目中本地保存图像

Ari*_*iou 7 codenameone

我已按照此视频中创建相机捕获页面的教程进行操作:http://www.youtube.com/watch?v = nF4eqzVcsic

所以我的代码目前看起来像这样:

protected void onCamera_CaptureButtonAction(Component c, ActionEvent event) {
    String i = Capture.capturePhoto();
    if (i != null) {
        try {
            Image img = Image.createImage(i).scaledHeight(500);
            findCameraLabel().setIcon(img);

        } catch (Exception ex) {
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我看了一下CameraDemo应用程序,但似乎找不到任何正在保存的文件.

我基本上只想将拍摄的照片保存在src文件夹中.

任何帮助将不胜感激.阿里

Sha*_*mog 7

您的设备上不存在src文件夹,并且您无权访问"应用程序文件夹"(存储本机二进制文件的位置),否则您将能够在设备上更改可能安装病毒的应用程序.

i示例中的变量是您可以在PC/Mac上看到的临时文件URL.您应该将其复制到本地文件或本地存储.

您可以FileSystemStorage使用相同的类打开输入流(例如,在应用程序主目录中),也可以使用Storage该类将图像保存到某个位置.

例如,您可以将图像复制到本地存储中:

InputStream stream = FileSystemStorage.getInstance().openInputStream(i);
OutputStream out = Storage.getInstance().createOutputStream("MyImage");
Util.copy(stream, out);
Util.cleanup(stream);
Util.cleanup(out);
Run Code Online (Sandbox Code Playgroud)