2011-06-25 9 views
10

Wykonuję kilka połączeń z BitmapFactory.decodeFile() i BitmapFactory.decodeResource(), a chciałbym określić format, w jakim bitmapy są dekodowane, takie jak RGB_565 lub RGBA_8888.Jak mogę określić format bitmapy (np. RGBA_8888) za pomocą BitmapFactory.decode *()?

Obecnie zdekodowany format bitmapy wydaje się zależeć od obrazu przychodzącego. Czy istnieje sposób konwersji istniejącej mapy bitowej na konkretny format?

Powodem jest to ważne jest to, że gdy próbuję rozszyfrować obraz, używając jnigraphics, niektóre obrazy zwracać AndroidBitmapFormat typu ANDROID_BITMAP_FORMAT_NONE, które zakładam, że jest bezużyteczny. Czy ktokolwiek ma lepszy wgląd w to, dlaczego format nie będzie miał żadnej znanej wartości? Kiedy tak się dzieje, wbudowany selektor obrazów prawidłowo wyświetla obrazy, które są dekodowane w ten sposób, więc zakładam, że musi istnieć sposób, aby sobie z nimi poradzić.

Dzięki za twój wkład!

Odpowiedz

22

To może być to, czego szukasz:

BitmapFactory.Options op = new BitmapFactory.Options(); 
op.inPreferredConfig = Bitmap.Config.ARGB_8888; 
bitmap = BitmapFactory.decodeFile(path, op); 
+1

RGBA8888 zamiast ARGB – neogineer

Powiązane problemy