2012-07-27 12 views

Respuesta

28

Puede configurar los BitmapFactory.Options con inJustDecodeBounds para obtener el ancho y la altura de la imagen sin tener que cargar el píxel de mapa de bits en la memoria

BitmapFactory.Options bitmapOptions = new BitmapFactory.Options(); 
bitmapOptions.inJustDecodeBounds = true; 
BitmapFactory.decodeStream(inputStream, null, bitmapOptions); 
int imageWidth = bitmapOptions.outWidth; 
int imageHeight = bitmapOptions.outHeight; 
inputStream.close(); 

Para más detalles:

inJustDecodeBounds booleanos públicas

Desde: Nivel de API 1 Si se establece en verdadero, el decodificador devolverá nulo (sin mapa de bits), pero los campos de salida serán establecer, lo que permite que el llamante consulte el mapa de bits sin tener para asignar la memoria a sus píxeles.

http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inJustDecodeBounds

+1

Does not funciona bien, ya que el sistema puede escalar el mapa de bits con respecto a la densidad de la pantalla cuando finalmente se necesita para cargar el mapa de bits. Esto siempre es verdadero solo si BitmapFactory.Options.inScaled = false – Tobliug

Cuestiones relacionadas