簡體   English   中英

從Uri創建文件的空圖像視圖

[英]Empty image view on creating the file from Uri

通過Camera Intent捕獲圖像=> new Intent(MediaStore.ACTION_IMAGE_CAPTURE).putExtra(MediaStore.EXTRA_OUTPUT, photoUri);

  1. 將Uri轉換為字符串=> String image = photoUri.toString();
  2. 從相同的字符串中獲取Uri => Uri uri = Uri.parse(image);
  3. 從Uri創建文件=> File imageFile = new File(uri.getPath());

相機意圖可以正常工作,但最終文件(即imageFile是空的圖像文件。

使用以下代碼:

File imageFile = new File(getPath(uri));
public String getPath(Uri uri) 
{
    Cursor cursor = getContentResolver().query(uri, null, null, null, null); 
    cursor.moveToFirst(); 

    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    String s=cursor.getString(column_index);
    cursor.close();
    return s;
}

我想從URI創建文件,我面臨的挑戰是要獲取content://格式的URI content://

所以我嘗試了以下方法:

MediaStore.Images.Media.getBitmap(getContentResolver(), uri)向我返回了位圖,因此我可以選擇使用imageView.setImageBitmap(MediaStore.Images.Media.getBitmap(getContentResolver(), uri))來顯示ImageView圖像,或使用以下代碼從bitmat中創建文件,如下所示:

FileOutputStream fOutputStream = new FileOutputStream(filePath); BufferedOutputStream bOutputStream = new BufferedOutputStream(fileOutputStream); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos); //compress format JPEG bos.flush(); bos.close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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