2010-03-10 8 views
374

Как преобразовать растровое изображение в Drawable?Как преобразовать растровое изображение в Drawable в android?

Спасибо, Фара

+2

Привет я получил ответ на ваш вопрос по этой ссылке и получил правильный ответ я это сделать. и я успех, я надеюсь, что вы получили успех. Удачи вам http://www.androidsnippets.com/convert-bitmap-to-drawable –

+2

Вклад - отличный способ сказать спасибо ... :) Взносы с точки зрения ответов ... :) – Farhan

+0

@Farhan k ....... – Abhi

ответ

236

Похоже, вы хотите использовать BitmapDrawable

Из документации:

Drawable, который оборачивает точечный рисунок и может облицовке, растягивается, или выровнены. Вы можете создать BitmapDrawable из пути файла , входного потока, через инфляцию XML или от объекта Bitmap .

+18

@Deprecated Используйте BitmapDrawable (ресурсы, битмап), чтобы гарантировать, что drawable правильно установил свою целевую плотность. –

+62

неопасный пост, неиспользованный комментарий. было бы лучше, если бы вы добавили код – voghDev

739

Попробуйте это преобразует Bitmap типа изображение в Drawable

Drawable d = new BitmapDrawable(getResources(), bitmap); 
+53

@Deprecated Используйте BitmapDrawable (ресурсы, растровое изображение), чтобы гарантировать, что drawable правильно установил свою целевую плотность. Создайте рисунок из растрового изображения, не имея дело с плотностью. – Murphy

+17

Должен был помечать это редактированием @ViliusK, чтобы люди не читали комментарий с повышенным вниманием и не задавались вопросом, о чем вы говорите. –

130

Просмотрев большое количество проблем с битовыми неправильно масштабированием при преобразовании в BitmapDrawable, общий способ преобразования должен быть:

Drawable d = new BitmapDrawable(getResources(), bitmap); 

Без Resources referencebitmap может не отображаться должным образом, даже при правильном масштабировании. Здесь есть множество вопросов, которые будут решены просто с помощью этого метода, а не прямого вызова только с аргументом bitmap.

+9

По крайней мере, почему, если вы собираетесь голосовать.Это совершенно верный ответ и приносит дополнительную информацию для решения проблем, которые могут возникнуть при других предлагаемых ответах. Жесткие элементы, созданные непосредственно из растрового изображения, часто имеют ошибки масштабирования без ссылки getResources(). – Zulaxia

+3

Это более точный ответ, учитывая тот, что из @Manoj устарел. – Raykud

19

Если у вас есть растровое изображение, и вы хотите использовать его в Drawable, как

Bitmap contact_pic; //a picture to show in drawable 
drawable = new BitmapDrawable(contact_pic); 
+19

Это устарело сейчас. Теперь используйте конструктор BitmapDrawable (ресурсы, битмап). – schlingel

+1

@schlingel Это все еще работает отлично, и многие из нас используют его в наших проектах, –

+1

Это хорошо для вас, но не помогает, когда Google в конечном итоге убивает этого конструктора, и вам нужно переписать все. – schlingel

29

OFFICAL Bitmapdrawable documentation

Это пример того, как преобразовать bitmap to drawable

Bitmap bitmap; 
//Convert bitmap to drawable 
Drawable drawable = new BitmapDrawable(getResources(), bitmap); 
imageView.setImageDrawable(drawable); 
+0

Повторяющийся ответ с http://stackoverflow.com/a/4560707/517381 – ViliusK

+0

Повторяющийся ответ – Daniel

+0

извините ... я не был серьезно – Abhi

10

Просто сделать это:

private void setImg(ImageView mImageView, Bitmap bitmap) { 

    Drawable mDrawable = new BitmapDrawable(getResources(), bitmap); 
    mImageView.setDrawable(mDrawable); 
} 
+1

Не решение того, что он просит –

21

я с контекстом

//Convert bitmap to drawable 
Drawable drawable = new BitmapDrawable(context.getResources(), bitmap); 
+1

Повторяющийся ответ. – CopsOnRoad

 Смежные вопросы

  • Нет связанных вопросов^_^