2016-02-20 80 views
1

任何人都可以告訴我如何從codenameOne中的.cn1(Stoarge)中讀取圖像.png或.jpg。如何從codenameone中的存儲中讀取圖像

我試圖兩種方式它們都不要噸工作:

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大小)我執行的功能: 「findImageViewer()setImage(IMG);」,我得到: 顯示java.lang.NullPointerException

2)with「findImageViewerRdM().setImage(img);」我得到java.lang.NullPointerException

+0

您需要提供異常的堆棧跟蹤。我的猜測是,findImageViewer()返回null,因爲你在表單顯示之前調用它。你應該在之前的演出中使用findImageViewer(f)。 –

回答

2

這對我很有用,所以請檢查它。

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

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

我猜想在Eclipse上安裝CN1時出了點問題,因爲即使是最基本的東西也不會像下面這樣工作:Image i = Image.createImage(「/ sil5.png」); \t \t \t findImageViewerRdM()。setImage(i); – Anas

+0

我會嘗試重新安裝並看到。但謝謝你的主席的答案! – Anas

+0

現在可以讀取和顯示圖像,問題與findImageViewer有關... – Anas

2

img = EncodedImage.create(Storage.getInstance()。createInputStream(「img.png」,int)); 請使用下一個方法與int變量一 創建(InputStream我,int大小)編碼圖像

+0

我也嘗試過,但正如我在我的問題中所描述的,當我嘗試在圖像查看器上顯示它時,我得到一個空指針。 – Anas

相關問題