2012-06-25 82 views
0

我已經使用了下面的代碼,能夠獲取圖像,但是當我試圖將其放在佈局背景(線性佈局)上時,圖像質量會降低,並且會顯示模糊圖片。Fb配置文件圖片沒有提供更好的質量

URL img_value = null; 

    try { 
     img_value = new URL("http://graph.facebook.com/"+userId+"/picture?type=large"); 

    } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    Bitmap mIcon1 = null; 
    try { 
     BitmapFactory.Options opt=new BitmapFactory.Options(); 
     opt.inSampleSize=1; 
     // mIcon1 = BitmapFactory.decodeFile(pathoffile,opt); 

     mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream(),null,opt); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    ll=(LinearLayout) findViewById(R.id.ll); 
    BitmapDrawable background = new BitmapDrawable(mIcon1); 
    ll.setBackgroundDrawable(background); 

回答

1

它看起來像你試圖將該圖像設置爲LinearLayout的背景。我假設這個背景大概是手機屏幕的大小。

我剛剛試過Facebook的URL和我回來的圖片大小是180x195。

考慮到我知道的最小的Android屏幕是240x320,那麼在每部Android手機上都必須放大該圖像。這將導致圖像看起來模糊,因爲圖像的分辨率遠低於Android屏幕。

我建議您爲您的背景找到更高分辨率的圖像。

+0

我在這裏使用圖形API,它有像圖像大小可能小,大,中等限制。是否有任何其他方式實現它除了圖形API – San

+0

不與該API調用。儘管如此,還有其他人可以玩。例如,照片通常較大,但想要弄清楚如何獲取您想要的照片則更加困難。 – WindyB