簡體   English   中英

使用uri將圖像加載到位圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM