Comment convertir une image bitmap en dessinable?
On dirait que vous voulez utiliser BitmapDrawable
De la documentation:
Drawable
qui enveloppe un bitmap et peut être mosaïque, étiré ou aligné. Vous pouvez créer unBitmapDrawable
à partir d'un chemin de fichier, d'un flux d'entrée, via une inflation XML ou d'un objetBitmap
.
Essayez ceci, il convertit une image de type Bitmap
en Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
Après avoir constaté un grand nombre de problèmes liés à la mise à l'échelle incorrecte des images bitmap lors de la conversion en un fichier BitmapDrawable
, la méthode générale de conversion devrait être la suivante:
Drawable d = new BitmapDrawable(getResources(), bitmap);
Sans le Resources reference
, le bitmap
risque de ne pas être restitué correctement, même s'il est mis à l'échelle correctement. Il existe de nombreuses questions ici qui pourraient être résolues simplement en utilisant cette méthode plutôt qu'un appel direct avec uniquement l'argument bitmap
.
Bitmapdrawable officiel documentation
Ceci est un exemple sur la façon de convertir bitmap to drawable
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
J'ai utilisé avec le contexte
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Si vous avez une image bitmap et que vous souhaitez l’utiliser dans drawable, comme
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
Faites juste ceci:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
en voici un autre:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
bit map caché à dessiner dans une application sketchware à l'aide de code
Android.graphics.drawable.BitmapDrawable d = new Android.graphics.drawable.BitmapDrawable(getResources(), bitmap);