如何从 codenameone 中的存储中读取图像

How to Read Images from storage in codenameone

任何人都可以告诉我如何从 codenameOne 中的 .cn1 (Stoarge) 读取图像 .png 或 .jpg。

我试了两种方法都行不通:

1- img = EncodedImage.create(Storage.getInstance().createInputStream("img.png"));

2- img = Image.createImage(Storage.getInstance().createInputStream("img.png"));

我得到的错误分别是:

1- 警告:使用 EncodedImage.create(InputStream) 加载大图像可能会导致内存问题,请尝试使用 EncodedImage.create(InputStream, int)

--> 当我尝试 EncodedImage.create(InputStream, int size) 并执行函数时:“findImageViewer().setImage( img);" ,我得到: java.lang.NullPointerException

2) "findImageViewerRdM().setImage(img);" 我得到 java.lang.NullPointerException

img = EncodedImage.create(Storage.getInstance().createInputStream("img.png", int )); 请使用带有 int 变量 one 的下一个方法 创建(InputStream i, int size) of EncodedImage

这对我有用,所以请检查一下。

InputStream is =  Storage.getInstance().createInputStream("tizbn.JPG");

        EncodedImage i = EncodedImage.create(is, is.available());
        ImageViewer imageViewer = new ImageViewer(i);
        f.addComponent(BorderLayout.CENTER, imageViewer);