Programing

리소스에서 비트 맵을 설정하는 방법

lottogame 2020. 3. 27. 07:59
반응형

리소스에서 비트 맵을 설정하는 방법


이것은 간단 해 보입니다. 비트 맵 이미지를 설정하려고하지만 리소스에서 드로어 블 폴더의 응용 프로그램 내에 있습니다.

bm = BitmapFactory.decodeResource(null, R.id.image);

이 올바른지?


Activity 클래스에서 이것을 호출한다고 가정합니다.

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

첫 번째 매개 변수 인 Resources가 필요합니다. 일반적으로 모든 컨텍스트 (및 활동과 같은 하위 클래스)에서 얻을 수 있습니다.


이 시도

이것은 sdcard에서 온 것입니다

ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
image.setImageBitmap(bMap);

이것은 자원에서 온 것입니다

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

리소스가 표시되고 있고보기 인 경우이를 캡처 할 수도 있습니다. 스크린 샷처럼 :

View rootView = ((View) findViewById(R.id.yourView)).getRootView();
rootView.setDrawingCacheEnabled(true);
rootView.layout(0, 0, rootView.getWidth(), rootView.getHeight());
rootView.buildDrawingCache();

Bitmap bm = Bitmap.createBitmap(rootView.getDrawingCache());

rootView.setDrawingCacheEnabled(false);

실제로 전체 레이아웃을 가져 오지만 원하는대로 변경할 수 있습니다.


비트 맵 객체를 선언했으며이를 표시하거나이 비트 맵 객체를 저장하려는 경우. 그러나 먼저 이미지를 할당해야하고 버튼 클릭 이벤트를 사용할 수 있습니다.이 코드는 드로어 블 이미지를 비트 맵 객체에 저장하는 방법 만 보여줍니다.

Bitmap contact_pic = BitmapFactory.decodeResource(v.getContext().getResources(), R.drawable.android_logo);

이제이 비트 맵 객체를 저장하거나 고정 된 위도와 경도로 그림을 그리는 동안 Google지도에서 사용하거나 다른 곳에서 사용할 수 있습니다.


이 줄을 바꾸십시오.

bm = BitmapFactory.decodeResource(null, R.id.image);

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);

getResources ()로 null 값을 변경한다고 말하면 버튼이나 이미지보기 클릭 이벤트 에서이 코드를 사용하는 경우 getResources () 앞에 getApplicationContext ()를 추가하십시오.

참고 URL : https://stackoverflow.com/questions/4955268/how-to-set-a-bitmap-from-resource

반응형