2012-06-25 45 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