2014-03-27 15 views

回答

2

使用ImageManager類來加載ImagerUri是我如何解決它。

下面,我遍歷currentRoom中的每個Participant,並請求它們的IconImageUri被ImageManager實例加載。

這可以直接用來膨脹一個視圖,但是因爲我使用的是LibGDX,所以我將它保存爲PNG進行處理。

(你可以看到,我告訴theGameInterface,這是空,如果他們沒有事先知情同意,或者是因爲沒有一個,或者它們是「未知」的參與者,因此全球公共產品返回null)

 for (Participant p : mRoomCurrent.getParticipants()) { 

      //makeToast("should be loading pic"); 
      ImageManager IM = ImageManager.create(this); 
      IM.loadImage(new ImageManager.OnImageLoadedListener() {    

       @Override 
       public void onImageLoaded(Uri arg0, Drawable drawable, boolean arg2) { 
        if(drawable == null) { 
         theGameInterface.picLoaded(participantID, null); 
        } else { 
         Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap(); 
         try { 
          FileOutputStream out = openFileOutput("pic" + participantID + ".png", Context.MODE_MULTI_PROCESS); 
          bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 
          out.flush(); 
          out.close(); 
         } catch (Exception e) { 
          e.printStackTrace(); 
          //dLog(e.getStackTrace().toString()); 
         } 
        } 

      } 
      }, p.getIconImageUri()); 

他們是從開發者網站推斷

ImageManagerParticipant

+0

感謝,讓我試試。它看起來很完美 – Devendar

相關問題