2015-03-03 61 views
2

即时通讯使用基本程序从我的手机导入图像到我写的应用程序,它工作正常。 唯一的问题是,当我想导入高分辨率的照片(+9 MPX)的照片不会出现导入高分辨率照片Android应用程序不工作

setContentView(R.layout.activity_create_new_user); 

contactImgView = (ImageView) findViewById(R.id.ChosenPhoto); 

public void onActivityResult(int reqCode,int resCode, Intent data) { 
     contactImgView.setImageURI(data.getData()); 
} 



public void AddPicture(View view) { 

    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent,"Select contact image"),1); 


} 

回答

1

Picasso library

解决方案是不是使用位图载入图片直接使用了一个名为毕加索它只是超快速真棒库。

添加毕加索jar文件到您的项目,使用毕加索加载图片喜欢这张

Picasso.with(context).load(new File(title)).centerCrop() 
.resize(150, 150).error(R.drawable.ic_launcher).into(imageview); 

其中标题是要加载图片的路径。裁剪,调整大小,错误是可选的。 你也可以从url加载图片。

0

这可能是因为它太高分辨率。

你将不得不使用BitmapFactory方法与图像的BitmapFactory.Options第一检测分辨率使用inJustDecodeBounds和位图解码,然后计数后,如果outWidth * outHeight> moreThenAppCanHandle您可以使用inSampleSize适当的因素,这将相应地减少输出的图像分辨率对其进行解码这意味着更少的内存消耗。

希望这将工作,并会帮助你。

相关问题