我想显示以前活动中从图库中选取的图像,以便将来显示为位图,以便我能够旋转它和类似的东西。我想将位图显示为具有由我确定的大小的完整图片(例如128x128)。我不知道如何从字符串中获取位图。当我想这样做时,它表示存在非此类文件。还有其他更好的方法吗? 挖掘当前代码(正确显示),但它仍然不是位图,如下所示。 来自MainActivity(第一项活动):
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button browse = (Button) findViewById(R.id.browse);
browse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent picker = new Intent();
picker.setType("image/*");
picker.setAction(Intent.ACTION_PICK);
startActivityForResult(picker, SELECT_PICTURE);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri selectedImage = null;
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
selectedImage = Uri.parse(data.getDataString());
Intent pickerResult = new Intent(MainActivity.this, EditActivity.class);
pickerResult.putExtra("IMAGE", selectedImage.toString());
startActivity(pickerResult);
}
下一个活动(第二个):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit);
imageView = (ImageView) findViewById(R.id.imageView);
if (getIntent().hasExtra("IMAGE")) {
String pickedImage = getIntent().getStringExtra("IMAGE");
imageView.setImageURI(Uri.parse(pickedImage));
}
答案 0 :(得分:0)
我认为您正在寻找BitmapFactory.decodeFile:
这将采取路径(您可能需要从Uri中删除file://,或者只是取Uri的路径部分而不是toString并将其添加到字符串中)并且把你带回位图。