2013-10-24 13 views
11

Jak uzyskać identyfikator URI obrazu zapisanego w losowaniu. Próbowałem następujących formatów, ale za każdym razem nie może załadować obrazu.Uzyskaj identyfikator URI z obrazu do rysowania.

imageURI= Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.indoor_thumbnail1); 
imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName"); 
imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName.png"); 
imageURI = Uri.parse("android.resource://"+ getResources().getResourceTypeName(R.drawable.indoor_thumbnail1)+"/" +getResources().getResourceEntryName(R.drawable.indoor_thumbnail1)+".png"); 

Nie wiem dlaczego nie mogę pobrać obraz URI ..

Odpowiedz

14

Spróbuj tego:

Resources resources = context.getResources(); 
Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + resources.getResourcePackageName(resId) + '/' + resources.getResourceTypeName(resId) + '/' + resources.getResourceEntryName(resId)); 
+0

Wciąż ten sam problem .. Nie można załadować obrazu .. – Bhavna

+0

co to jest kontekst? –

8

znalazłem większość odpowiedzi mylące dla początkującego użytkownika, więc jestem w tym przykład.

your_package_name = org.xyz.abc

obraz w rozciągliwej jest => myimage.jpg

Uri uri = Uri.parse("android.resource://org.xyz.abc/drawable/myimage"); 
or 
Uri uri = Uri.parse("android.resource://"+context.getPackageName()+"/drawable/myimage"); 
7

To jest to, czego naprawdę potrzebujesz:

Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + 
"://" + getResources().getResourcePackageName(R.drawable.ic_launcher) 
+ '/' + getResources().getResourceTypeName(R.drawable.ic_launcher) + '/' + getResources().getResourceEntryName(R.drawable.ic_launcher)); 
+1

Wierzę, że powinno być: Uri imageUri = Uri.parse (ContentResolver.SCHEME_ANDROID_RESOURCE + ": //" + getResources(). GetResourcePackageName (R.drawable.ic_launcher) + '/' + getResources(). GetResourceTypeName (R.drawable.ic_launcher) + '/' + String.valueOf (R.drawable.ic_launcher); – fobbymaster

1

Można również spróbować :

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.myimage_name); 

String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); 
      File file = new File(extStorageDirectory, "MyIMG.png"); 
      FileOutputStream outStream = null; 
      try { 
       outStream = new FileOutputStream(file); 
       bm.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
       outStream.flush(); 
       outStream.close(); 

    } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

    Uri imguri=Uri.fromFile(file); 
Powiązane problemy