7
votes

Problème convertir URI en bitmap (2014):

En bref, j'essaie de sélectionner une image à partir d'une galerie de téléphone à afficher en tant que bitmap à lire (obtenir la moyenne RVB) dans une autre activité.

première chose, j'ai rencontré quelques sujets abordés traiter avec URI de la conversion bitmap. Beaucoup d'entre eux ont des suggestions telles que (de: Récupérer bitmap de URI ): p>

    Uri imageUri = intent.getData();
    Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
    Imageview my_img_view = (Imageview ) findViewById (R.id.my_img_view);
    my_img_view.setImageBitmap(bitmap);


0 commentaires

3 Réponses :


8
votes

Veuillez obtenir InputStream de l'URI

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
switch(requestCode) { 
case REGUEST_CODE :
    if(resultCode == RESULT_OK){  
        Uri IMAGE_URI = imageReturnedIntent.getData();
        InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI);
        Bitmap bitmap= BitmapFactory.decodeStream(image_stream );
        my_img_view.setImageBitmap(bitmap)
    }
}


1 commentaires

Je pense que cela aidera tout le monde



0
votes

Quelle est la taille du bitmap que vous essayez de passer? Pouvez-vous copier / coller le message d'erreur que vous obtenez?

Une raison possible de votre application Crashing est que les données que vous pouvez transmettre en mémoire principale d'une activité à une autre est plafonnée de taille. Je crois que les données maximales sont d'environ 1 à 2 Mo, en fonction de la version du matériel et du système d'exploitation, bien que je ne puisse pas trouver de référence.


0 commentaires

3
votes
Uri IMAGE_URI = imageReturnedIntent.getData();
InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI);
Bitmap bitmap= BitmapFactory.decodeStream(image_stream);
my_img_view.setImageBitmap(bitmap)

0 commentaires