[英]Loading image into bitmap with uri
首先,我從用戶的圖庫中獲取圖像的路徑,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode){
case Pick_image:
if(resultCode == RESULT_OK){
try {
final Uri imageUri = imageReturnedIntent.getData();
final InputStream imageStream = getContentResolver().openInputStream(imageUri);
pathToImage = imageUri.toString();
choosePath.setImageResource(R.drawable.ic_check);
} catch (FileNotFoundException e){
e.printStackTrace();
}
}
}
}
並將其保存到數據庫,例如:“content://com.miui.gallery.open/raw/%2Fstorage%2Femulated%2F0%2FDCIM%2FCamera%2FIMG_20210522_105740.jpg”,我有小米設備。 然后在其他活動中我需要得到這個圖像,我這樣做:
bitmap = BitmapFactory.decodeFile(favouriteTemplates.get(position).getImageLink());
holder.icon.setImageBitmap(bitmap);
其中“favouriteTemplates.get(position).getImageLink”是我的路徑。 但是 decodeFile 返回 null 並且我的 ImageView 保持為空,盡管我的 LogCat 沒有顯示任何異常
嘗試使用以下代碼,您不需要轉換為位圖,您也可以使用 imageUri 在 imageView 上顯示圖像。
String imageUri = favouriteTemplates.get(position).getImageLink();
holder.icon.setImageURI(imageUri)
//Use this for bitmap
Bitmap bitmap =
MediaStore.Images.Media.getBitmap(this.getContentResolver(),
imageUri);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.