2013-08-21 4 views
6

Я следовал учебник создания страницы захвата камеры в этом видео: http://www.youtube.com/watch?v=nF4eqzVcsicСохранение изображения локально в Codename One Project

Так что мой код на данный момент выглядит следующим образом:

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) { 
     } 
    } 

} 

I посмотрел приложение CameraDemo, но не может найти файлы, которые будут сохранены.

В основном я хочу, чтобы любые снимки были сохранены в папке src.

Любая помощь была бы принята с благодарностью. Ari

ответ

7

Папка src не существует на вашем устройстве, и у вас нет доступа к «папке приложения» (где хранятся исходные двоичные файлы), в противном случае вы сможете изменить приложение на устройстве потенциально установка вируса.

Переменная i в вашем примере - это временный URL-адрес файла, который вы можете видеть на своем ПК/Mac. Вы должны скопировать его в локальный файл или в локальное хранилище.

Вы можете открыть входной поток для изображения с помощью FileSystemStorage, затем вы можете сохранить его с использованием того же класса (например, в домашнем каталоге приложения), или вы можете использовать класс Storage для сохранения изображения где-нибудь.

E.g. вы можете скопировать изображение на локальное хранилище как таковое:

InputStream stream = FileSystemStorage.getInstance().openInputStream(i); 
OutputStream out = Storage.getInstance().createOutputStream("MyImage"); 
Util.copy(stream, out); 
Util.cleanup(stream); 
Util.cleanup(out); 
+0

Woah awesome. Хорошо, спасибо. Так можно ли читать эти файлы снова, как только они были сохранены? –

+0

Какой смысл сохранять их в противном случае ;-) У хранилища есть способ открыть входной поток, и вы можете использовать EncodedImage.create (stream) для получения объекта изображения. –

+0

Shai! Ты мужчина! Большое спасибо за помощь! –