uriandroid圖片
Ⅰ android 如何得到指定文件夾下圖片的uri,急急急急急
需要先在手機上安裝一個程序「R.E文件管理器」,然後打開這個程序裡面可以找到你想要的所有文件。
Ⅱ android 調用相機如何得到照片的URI
你的方法沒有錯,這是標準的做法。返回的是小圖。不過你可以在Intent里加這樣一句,設置大圖保存路徑:
java">Intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photoFile));
這樣的話myBitmap應該就是null了。你可以試試是不是可以拿到uri。
Ⅲ Android用ImageSpan顯示的圖片怎麼調整大小
ImageSpan是通過bitmap生成的,如果要調整圖片的大小,你可以對bitmap進行預處理,比如scale之類的操作,生成你目標的bitmap再生成ImageSpan。
還有就是,可以把圖片設置到ImageView里,調整好ImageView里圖片的大小,再把ImageView生成對應的bitmap,從而生成ImageSpan。
xml視圖生成bitmap參照:
Ⅳ Android 兩個Activity之間怎樣使用Uri傳遞圖片,怎樣獲取圖片的Uri,怎樣通過Uri得到圖片
圖片類:
class Image implements Serializable{
private String url;
private Bitmap bitmap;
}
傳遞:
Image image = new Image();
image.seturl(url);
image.setbitmap(bitmap);
intent.putExtra("image", image);
獲取
Image image = intent.getSerializableExtra("image");
String url = image.geturl();
Bitmap bitmap =image.getbitmap();
Ⅳ Android獲取資料庫圖片uri路徑並用imageView顯示
我想問你最後怎麼解決的,我也是這個問題,網上也查不到解決方法,很煩!
Ⅵ android中ImageView的setImageURI能不能設置網路上面的圖片,能不能正常顯示
URL picUrl = new URL(" http://www.souchiwang.com/images/user_3.jpg");
Bitmap pngBM = BitmapFactory.decodeStream(picUrl.openStream());
imageView.setImageBitmap(pngBM);
既可實現andorid的imageView控制項顯示網路圖片
Ⅶ android7.0怎麼從uri中取出bitmap
private Bitmap getBitmapFromUri(Uri uri)
2 {
3 try
{
5 // 讀取uri所在的圖片
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
7 return bitmap;
8 }
9 catch (Exception e)
10 {
11 Log.e("[android]", e.getmessage());
12 Log.e("[Android]", "目錄為:" + uri);
13 e.printStackTrace();
14 return null;
15 }
16 }
Ⅷ android4.4之後怎麼根據sd卡中的圖片路徑path獲取圖片對應的Uri地址
直接調用文件管理器選擇圖片即可。
1、調用系統提供的圖片選擇器,代碼如下:
//注意,在Android4.4系統下建議使用 Intent.ACTION_OPEN_DOCUMENT方式
if (Utility.isKK()) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image
public static String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
處理返回結果:
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PIC_RESULT://選擇圖庫
case PIC_RESULT_KK:
imageFileUri = intent.getData();//獲取選擇圖片的URI
break;
}
}
2、除此自外,系統還提供一種選擇器,這個圖片選擇器可以屏蔽掉那個auto backup的目錄.所以就開始打算用這個圖片選擇器來選圖片了.
Intent intent=new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENT
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/jpeg");
if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.KITKAT){
startActivityForResult(intent, SELECT_PIC_KITKAT);
}else{
startActivityForResult(intent, SELECT_PIC);
}
為什麼要分開不同版本呢?其實在4.3或以下可以直接用ACTION_GET_CONTENT的,在4.4或以上,官方建議用ACTION_OPEN_DOCUMENT,主要區別是他們返回的Uri.4.3返回的是帶文件路徑的,而4.4返回的卻是content://com.android.providers.media.documents/document/image:3951這樣的,沒有路徑,只有圖片編號的uri.可以通過以下方式,處理URI。
參考:Android 4.4從圖庫選擇圖片,獲取圖片路徑並裁剪
public static String getPath(final Context context, final Uri uri) {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
// DocumentProvider
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
// ExternalStorageProvider
if (isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/" + split[1];
}
// TODO handle non-primary volumes
}
// DownloadsProvider
else if (isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
final Uri contentUri = ContentUris.withAppendedId(
Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
return getDataColumn(context, contentUri, null, null);
}
// MediaProvider
else if (isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
Uri contentUri = null;
if ("image".equals(type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
final String selection = "_id=?";
final String[] selectionArgs = new String[] {
split[1]
};
return getDataColumn(context, contentUri, selection, selectionArgs);
}
}
// MediaStore (and general)
else if ("content".equalsIgnoreCase(uri.getScheme())) {
// Return the remote address
if (isGooglePhotosUri(uri))
return uri.getLastPathSegment();
return getDataColumn(context, uri, null, null);
}
// File
else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
}
return null;
}
public static String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
try {
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,
null);
if (cursor != null && cursor.moveToFirst()) {
final int index = cursor.getColumnIndexOrThrow(column);
return cursor.getString(index);
}
} finally {
if (cursor != null)
cursor.close();
}
return null;
}
public static boolean isExternalStorageDocument(Uri uri) {
return "com.android.externalstorage.documents".equals(uri.getAuthority());
}
public static boolean isDownloadsDocument(Uri uri) {
return "com.android.providers.downloads.documents".equals(uri.getAuthority());
}
public static boolean isMediaDocument(Uri uri) {
return "com.android.providers.media.documents".equals(uri.getAuthority());
}
public static boolean isGooglePhotosUri(Uri uri) {
return "com.google.android.apps.photos.content".equals(uri.getAuthority());
}
3、使用其它開源組件如PhotoView。
Ⅸ android:怎樣將Uri類型的圖片數據轉換成流
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(originalUri, proj, null, null, null);
// 按我個人理解 這個是獲得用戶選擇的圖片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
// 將游標移至開頭 ,這個很重要,不小心很容易引起越界
cursor.moveToFirst();
// 最後根據索引值獲取圖片路徑
String path = cursor.getString(column_index);
這樣就獲得了圖片的路徑。
下面說圖片上傳,現在一般上傳都用Okhttp 框架了,直接上傳個File類就可以,不需要自己在轉成數據流,給你個連接,我寫的工具類,你也可以查一下,這個很方便http://blog.csdn.net/xihe9152/article/details/68485040,使用前需要先依賴Okhttp3