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);
3 Réponses :
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) } }
Je pense que cela aidera tout le monde
Quelle est la taille du bitmap que vous essayez de passer? Pouvez-vous copier / coller le message d'erreur que vous obtenez? P>
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. P>
Uri IMAGE_URI = imageReturnedIntent.getData(); InputStream image_stream = getContentResolver().openInputStream(IMAGE_URI); Bitmap bitmap= BitmapFactory.decodeStream(image_stream); my_img_view.setImageBitmap(bitmap)