2017-11-25 4 views
0

32 비트 PNG 이미지에서 ALPHA_8 구성으로 비트 맵을 생성하려고합니다. 그렇게하려면 decodeResource(Resources res, int id, Options opts)으로 전화하십시오. opts.inPreferredConfig = Bitmap.Config.ALPHA_8입니다. 그러나 ARGB_8888 구성의 비트 맵을 반환합니다.inPreferredConfig = Bitmap.Config.ALPHA_8 인 BitmapFactory.decodeResource가 Bitmap.Config.ARGB_8888을 사용하여 비트 맵을 반환하는 이유는 무엇입니까?

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inPreferredConfig = Bitmap.Config.ALPHA_8; 

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), id, options); 

// Output: "bitmap.getConfig() returns ARGB_8888" 
Log.w(tag, "bitmap.getConfig() returns " + bitmap.getConfig()); 

왜 발생합니까? 제대로 작동시키는 방법?

답변

0

소스 비트 맵을 ALPHA_8에서 디코딩 할 수 없으므로 Android에서 자동으로 ARGB888을 선택하여 디코딩합니다.

관련 문제