[英]Empty image view on creating the file from Uri
通過Camera Intent捕獲圖像=> new Intent(MediaStore.ACTION_IMAGE_CAPTURE).putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
String image = photoUri.toString();
Uri uri = Uri.parse(image);
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.