2012-07-27 7 views

Odpowiedz

28

Można ustawić BitmapFactory.Options z inJustDecodeBounds uzyskać szerokość i wysokość obrazu bez ładowania piksel bitmapy w pamięci

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

Aby uzyskać więcej informacji:

public boolean inJustDecodeBounds

Ponieważ: Poziom API 1 Jeśli ustawione na true, , dekoder zwróci wartość null (bez bitmapy), ale pola out ... będą nadal oznaczone jako set, umożliwiając wywołującemu zapytanie do mapy bitowej bez konieczności przydzielenia pamięci dla jej pikseli przez .

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

+1

Czy nie działa poprawnie, ponieważ system można skalować mapę bitową dotyczące gęstości ekranu, kiedy wreszcie trzeba załadować bitmapę. Jest to zawsze prawdziwe, tylko jeśli BitmapFactory.Options.inScaled = false – Tobliug

Powiązane problemy