Jak przekonwertować obraz bitmapowy na Drawable?
Jak przekonwertować obraz bitmapowy na Drawable?
Odpowiedzi:
Brzmi jak chcesz BitmapDrawable
Z dokumentacji:
A,
Drawable
który otacza bitmapę i można go kafelkować, rozciągać lub wyrównywać. Możesz utworzyćBitmapDrawable
ze ścieżki pliku, strumienia wejściowego, poprzez inflację XML lub zBitmap
obiektu.
Po zaobserwowaniu dużej liczby problemów związanych z nieprawidłowym skalowaniem bitmap po konwersji na a BitmapDrawable
, ogólnym sposobem konwersji powinno być:
Drawable d = new BitmapDrawable(getResources(), bitmap);
Bez Resources reference
The bitmap
nie może spowodować prawidłowo, nawet gdy skalowane poprawnie. Jest tu wiele pytań, które można rozwiązać po prostu przy użyciu tej metody zamiast zwykłego wywołania z samym bitmap
argumentem.
Oficjalna dokumentacja bitmapowa
Oto przykład, jak przekonwertować mapę bitową na rysowaną
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
Użyłem z kontekstem
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Jeśli masz obraz bitmapowy i chcesz go użyć w trybie rysowania, np
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
Po prostu zrób to:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
1) Mapa bitowa do Drawable:
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
// mImageView.setDrawable(mDrawable);
2) z możliwością rysowania do mapy bitowej:
Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);
Oto kolejny:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
ukryta mapa bitowa do rysowania w aplikacji szkicowej za pomocą kodu
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);