안드로이드에서 비트 맵을 Drawable로 변환하는 방법?


447

비트 맵 이미지를 Drawable로 변환하려면 어떻게해야합니까?


2
안녕하세요, 귀하의 질문에 대한 답변을이 링크를 따라 가고 올바른 답변을 얻었습니다. 그리고 나는 성공, 당신이 성공하기를 바랍니다. 행운을 빕니다 androidsnippets.com/convert-bitmap-to-drawable
자라 Janaksinh

2
기여는 감사의 말을 전할 수있는 좋은 방법입니다 ... :) 답변을주는 관점에서 기여하는 것 : :)
Farhan

@Farhan k .......
Abhi

답변:


265

사용하고 싶은 것 같네요 BitmapDrawable

설명서에서 :

Drawable비트 맵을 감싸고 타일, 스트레치 또는 정렬 할 수있는 A BitmapDrawable파일 경로, 입력 스트림, XML 인플레이션 또는 Bitmap 객체 에서 파일 경로를 만들 수 있습니다 .


21
@Deprecated BitmapDrawable (Resources, Bitmap)을 사용하여 드로어 블이 대상 밀도를 올바르게 설정했는지 확인하십시오.
Camille Sévigny

79
쓸모없는 게시물, 쓸모없는 댓글. 코드를 추가하면 더 좋을 것입니다
voghDev

827

이것을 시도하여 Bitmap유형 이미지를Drawable

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

이것이 내가 기대 한 것입니다!
젠드

147

비트 맵이로 변환 될 때 크기가 잘못 조정되는 문제가 많이 BitmapDrawable발생한 경우 일반적인 변환 방법은 다음과 같습니다.

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

포함하지 않는 Resources reference의는 bitmap제대로 크기를 조절할 때조차 제대로 렌더링되지 않을 수 있습니다. 여기에는 bitmap인수 로만 직접 호출하는 대신이 방법을 사용하여 간단히 해결할 수있는 많은 질문이 있습니다 .


12
최소한 투표를 거부 할 이유를 언급하십시오. 이 답변은 완벽하게 유효한 답변이며 제공된 다른 답변에서 발생할 수있는 문제를 해결하기위한 추가 정보를 제공합니다. 비트 맵에서 직접 작성된 드로어 블에는 getResources () 참조가없는 스케일링 오류가있는 경우가 많습니다.
Zulaxia

4
@Manoj의 답변이 더 이상 사용되지 않는다는 점을 고려하면 더 정확한 답변입니다.
Raykud


31

나는 맥락과 함께 사용

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

5
중복 된 답변.
CopsOnRoad

19

비트 맵 이미지가 있고 드로어 블에서 사용하려는 경우

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

20
더 이상 사용되지 않습니다. 이제 BitmapDrawable (Resources, Bitmap) 생성자를 사용하십시오.
schlingel

1
@schlingel 그것은 여전히 ​​잘 작동하고 우리 중 많은 사람들이 우리 프로젝트에서 그것을 사용하고 있습니다
Pir Fahim Shah

2
그것은 당신에게 좋지만 Google이 결국이 생성자를 죽이고 모든 것을 다시 작성해야 할 때 도움이되지 않습니다.
schlingel

@schlingel 네, 그러나 아직도 서두르는 사람이 이것을 사용하고 작동합니다
Pir Fahim Shah

11

그냥 이렇게 :

private void setImg(ImageView mImageView, Bitmap bitmap) {

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

1
그가 요구하는 것에 대한 해결책이 아님
IIRed-DeathII

3

1) Drawable에 대한 비트 맵 :

Drawable mDrawable = new BitmapDrawable(getResources(), bitmap);
// mImageView.setDrawable(mDrawable);

2) 비트 맵으로 드로어 블 :

Bitmap mIcon = BitmapFactory.decodeResource(context.getResources(),R.drawable.icon_resource);
// mImageView.setImageBitmap(mIcon);

1

또 다른 하나는 다음과 같습니다.

Drawable drawable = RoundedBitmapDrawableFactory.create(context.getResources(), bitmap);

0

코드를 사용하여 스케치웨어 앱에서 드로어 블에 대한 비밀 비트 맵

    android.graphics.drawable.BitmapDrawable d = new android.graphics.drawable.BitmapDrawable(getResources(), bitmap);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.