2012-07-27 25 views

Trả lời

28

Bạn có thể đặt BitmapFactory.Options với inJustDecodeBounds để có được chiều rộng và chiều cao hình ảnh mà không cần nạp pixel bitmap trong bộ nhớ

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

Để biết thêm chi tiết:

inJustDecodeBounds public boolean

Vì: API Cấp 1 Nếu được đặt thành true, bộ giải mã sẽ trả lại giá trị rỗng (không có bitmap), nhưng các trường ngoài ... sẽ vẫn là thiết lập, cho phép người gọi truy vấn bitmap mà không cần phải có để cấp phát bộ nhớ cho các pixel của nó.

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

+1

Liệu không hoạt động tốt, do hệ thống có thể mở rộng bitmap liên quan đến mật độ màn hình khi bạn cuối cùng cần phải tải bitmap. Điều này luôn đúng nếu BitmapFactory.Options.inScaled = false – Tobliug

Các vấn đề liên quan