Intereting Posts
Мобильные приложения для мобильных телефонов и контроль версий и обновления Ограничение размера приложения APK для Android в Google Play Как загрузить лист спрайтов с 5 строками и 5-ти столбцами в виде андроида? Используйте новую версию ADT Realm, инициализируя пустой массив строк, возвращает «Unsupported type java.lang.String » on build Мультимедийный энкодер Android: raw h264 to mp4 container Получите уровень заряда аккумулятора, прежде чем радиовещательный приемник ответит на Intent.ACTION_BATTERY_CHANGED ExpandableListAdapter onClickListener, вызов notifyDataSetChanged () Ошибка обновления. Отсутствует либо URL @GET, либо параметр @Url. Android ant build: proguard не может найти ссылочный метод в классе ViewConfigurationCompatFroyo Выбор файла Кордовы Crosswalk. Приложение не может выполнить эту ошибку действия. Правильно ли это использование фрагментов Android и NavigationDrawer? Отладка родной библиотеки в Android Время форматирования на Android, при следующих настройках (24 часа в час против AM / PM и т. Д.) Будет ли статическая переменная жить даже после закрытия приложения?

Android – ширина и высота растрового изображения без загрузки

Мне нужно получить ширину и высоту растрового изображения, но использование этого дает исключение из памяти:

Resources res=getResources(); Bitmap mBitmap = BitmapFactory.decodeResource(res, R.drawable.pic); BitmapDrawable bDrawable = new BitmapDrawable(res, mBitmap); //get the size of the image and the screen int bitmapWidth = bDrawable.getIntrinsicWidth(); int bitmapHeight = bDrawable.getIntrinsicHeight(); 

Я прочитал решение на вопрос « Получите ширину и высоту битмапа без загрузки в память, но какой будет входной поток здесь?

Необходимо также указать некоторые BitmapFactory.Options :

 BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.id.myimage, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; 

bDrawable не будет содержать bDrawable байтовый массив. Взято отсюда : Setting the inJustDecodeBounds property to true while decoding avoids memory allocation, returning null for the bitmap object but setting outWidth, outHeight and outMimeType. This technique allows you to read the dimensions and type of the image data prior to construction (and memory allocation) of the bitmap. Setting the inJustDecodeBounds property to true while decoding avoids memory allocation, returning null for the bitmap object but setting outWidth, outHeight and outMimeType. This technique allows you to read the dimensions and type of the image data prior to construction (and memory allocation) of the bitmap.

Использовать это

 BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.id.myimage, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; 

См. http://developer.android.com/training/displaying-bitmaps/load-bitmap.html