Je sais comment obtenir une photo de la galerie dans Android
onActivityResult(int requestCode, int resultCode, Intent data)
3 Réponses :
String fn = ...; // file name ContentResolver cr = ctx.getContentResolver(); Cursor c = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{ BaseColumns._ID }, MediaColumns.DATA + "=?", new String[]{ fn }, null); if(c!=null) { try{ if(c.moveToNext()) { long id = c.getLong(0); Bitmap thumbnail = MediaStore.Images.Thumbnails.getThumbnail(cr, id, MediaStore.Images.Thumbnails.MINI_KIND, null); } }finally{ c.close(); } }
Si vous avez son curseur à la main, vous pouvez obtenir son identifiant comme,
Bitmap thumbnail = MediaStore.Images.Thumbnails.getThumbnail(cursor, id, MediaStore.Images.Thumbnails.MINI_KIND, null);
Hey donc si tout le reste ne fonctionne pas pour vous ici est un moyen facile de faire votre propre vignette si vous avez le bitmap. Si vous ne savez pas comment charger le bitmap à partir de l'URI:
final int THUMBNAIL_HEIGHT = 75;//48 final int THUMBNAIL_WIDTH = 75;//66 Float width = new Float(bitmap.getWidth()); Float height = new Float(bitmap.getHeight()); Float ratio = width/height; bitmap = Bitmap.createScaledBitmap(bitmap, (int)(THUMBNAIL_HEIGHT*ratio), THUMBNAIL_HEIGHT, false); int padding = (THUMBNAIL_WIDTH - bitmap.getWidth())/2; image.setPadding(padding, padding, padding, padding); image.setBackgroundColor(0); image.setImageBitmap(bitmap);
Dupliqué possible de Obtenez la vignette URI / chemin de l'image stockée dans la carte SD + Android
@Miromarkarian merci pour le lien. Mais je reçois des erreurs lorsque j'utilise
bitmap bitmap = mediastore.images.Thumbnails.getthumbnail (getContResolver (), data.getdata (), mediastore.images.thumbnails.mini_kind, (bitmapfactory.options) null); code>. Comment puis-je modifier
data.getdata () code> à un identifiant comme suggéré dans la réponse?
Essayez d'utiliser
curseur code> s. C'est la deuxième solution que le gars là-bas a suggéré et il a été signalé qu'il fonctionnait mieux que l'option
bitmap code>
@Miromarkarian La deuxième solution attend un
long code> comme
sélectionnéImageuri code>. Mais tout ce que j'ai, c'est
data.getdata () code>. Comment puis-je obtenir / analyser l'ID?
Hé, avez-vous déjà compris? Je regarde le même problème ...