Как преобразовать растровое изображение в Drawable в Android?
-
19-09-2019 - |
Вопрос
Как я могу преобразовать растровое изображение в рисованное?
Решение
Звучит так, как будто вы хотите использовать BitmapDrawable
Из документации:
A
Drawable
это оборачивает растровое изображение и может быть выложено плиткой, растянуто или выровнено.Вы можете создатьBitmapDrawable
из пути к файлу, входного потока, посредством расширения XML или изBitmap
объект.
Другие советы
Попробуйте это, это преобразует Bitmap
введите изображение, чтобы Drawable
Drawable d = new BitmapDrawable(getResources(), bitmap);
Увидев большое количество проблем с неправильным масштабированием растровых изображений при преобразовании в BitmapDrawable
, общий способ преобразования должен быть:
Drawable d = new BitmapDrawable(getResources(), bitmap);
Без Resources reference
, тот bitmap
может не отображаться должным образом, даже при правильном масштабировании.Здесь есть множество вопросов, которые можно было бы решить просто с помощью этого метода, а не прямого вызова только с bitmap
аргумент.
Официальный растровый рисунок Документация
Это пример того, как конвертировать растровое изображение для рисования
Bitmap bitmap;
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
imageView.setImageDrawable(drawable);
Я использовал с контекстом
//Convert bitmap to drawable
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap);
Если у вас есть растровое изображение и вы хотите использовать его в drawable, например
Bitmap contact_pic; //a picture to show in drawable
drawable = new BitmapDrawable(contact_pic);
Просто сделай это:
private void setImg(ImageView mImageView, Bitmap bitmap) {
Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
mImageView.setDrawable(mDrawable);
}
вот еще один:
Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);
скрытая битовая карта для рисования в приложении sketchware с использованием кода
android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);