2011-06-25 6 views
10

Estoy haciendo varias llamadas a BitmapFactory.decodeFile() y BitmapFactory.decodeResource(), y me gustaría especificar el formato en que se decodifican los mapas de bits, como RGB_565 o RGBA_8888.¿Cómo puedo especificar el formato de mapa de bits (por ejemplo, RGBA_8888) con BitmapFactory.decode *()?

Actualmente, el formato de mapa de bits descodificado parece depender de la imagen entrante. Alternativamente, ¿hay alguna manera de convertir un mapa de bits existente a un formato específico?

La razón de que esto es importante es que cuando intento de decodificar la imagen utilizando jnigraphics, algunas imágenes devuelven un tipo de AndroidBitmapFormatANDROID_BITMAP_FORMAT_NONE, que supongo es inútil. ¿Alguien tiene más información sobre por qué el formato no sería ninguno de los valores conocidos? Cuando esto sucede, el selector de imágenes incorporado muestra correctamente las imágenes que se decodifican de esta manera, así que supongo que tiene que haber una forma de manejarlas.

¡Gracias por su contribución!

Respuesta

22

Esto podría ser lo que buscas:

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

RGBA8888 no ARGB – neogineer

Cuestiones relacionadas