Comment convertir un bitmap à étirables dans Android?
-
19-09-2019 - |
Question
Comment puis-je convertir une image bitmap à étirables?
La solution
On dirait que vous voulez utiliser BitmapDrawable
De la documentation:
A
Drawable
qui enveloppe un bitmap et peut carreler, étiré ou aligné. Toi peut créer unBitmapDrawable
d'un chemin de fichier, un flux d'entrée, par l'intermédiaire l'inflation XML, ou d'unBitmap
objet.
Autres conseils
Essayez cela, il convertit une image de type Bitmap
à Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
Après avoir vu une grande quantité de problèmes avec bitmaps mise à l'échelle de manière incorrecte lorsque converti en un BitmapDrawable
, la manière générale de convertir doit être:
Drawable d = new BitmapDrawable(getResources(), bitmap);
Sans Resources reference
, le bitmap
ne peut pas rendre correctement, même si à l'échelle correctement. Il y a de nombreuses questions sur ce site, qui serait tout simplement en utilisant résolus cette méthode plutôt qu'un appel directement avec seulement l'argument bitmap
.
Ceci est l'échantillon sur la façon de convertir bitmap à étirables
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
je avec le contexte
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Si vous avez une image bitmap et que vous voulez l'utiliser dans étirables, comme
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
Il suffit de faire ceci:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
est ici un autre:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
carte peu secrète à étirables dans l'application sketchware en utilisant le code
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);