Intereting Posts
Индикатор выполнения в панели уведомлений при загрузке изображения? Как реализовать приложение для блокировки приложений в Android? Google Maps V2 не работает в производстве с правильным ключом FindViewById возвращает null при поиске элементов в панели действий на Android 3.2. Как получить проект PhoneGap для запуска в Android Studio с системой сборки Gradle «Java: пакет org.apache.cordova не существует» при компиляции Cordova в Android Studio Android: передача данных из дочернего фрагмента в родительский фрагмент В чем смысл журнала из тега: «szipinf» и текст: «Инициализация состояния раздувания» из Logcat Масштабировать текст в режиме просмотра? Как изменить изображение кнопки при каждом нажатии? Мой флажок не отображается в моем CheckedTextView Android – Как использовать SharedPreferences в классе non-Activity? Для Android SDK требуется ADT версии 23.0.0 или выше. Текущая версия – 22.6. Обновите ADT до последней версии? Android и IPv6 в Java Как программно считывать маркер ImageView?

Android. Получение размера изображения из его идентификатора ресурса

Это часть моей деятельности:

private ImageView mImageView; private int resource; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); resource = getIntent().getIntExtra("res", -1); Matrix initMatrix = new Matrix(); mImageView = new ImageView(getApplicationContext()); mImageView.setScaleType( ImageView.ScaleType.MATRIX ); mImageView.setImageMatrix( initMatrix ); mImageView.setBackgroundColor(0); mImageView.setImageResource(resource); } 

Я пытаюсь отобразить изображение в ImageView, используя матрицу как тип шкалы (я хочу добавить мультитач позже). Но прежде чем пользователь начнет взаимодействие, я хочу, чтобы изображение было центрировано и помещено внутри ImageView. Я уже нашел ответы на вопрос о том, как его решить, но для меня есть одна проблема: сделать изображение в центре с использованием матрицы. Мне нужно знать ее ширину и высоту. Есть ли способ получить размер изображения, когда у вас есть int-ресурс ?

Solutions Collecting From Web of "Android. Получение размера изображения из его идентификатора ресурса"

Используйте BitmapFactory.decodeResource для получения объекта Bitmap ресурса, а затем из растрового изображения вы можете легко получить ширину / высоту изображения с помощью getHeight и getWidth

Также не забывайте перерабатывать растровое изображение

РЕДАКТИРОВАТЬ:

Таким образом, вы получите null битмап в качестве вывода, но BitmapFactory.Options будут установлены с помощью and и для растрового изображения. Итак, в этом случае вам не нужно перерабатывать растровое изображение

 BitmapFactory.Options dimensions = new BitmapFactory.Options(); dimensions.inJustDecodeBounds = true; Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap, dimensions); int height = dimensions.outHeight; int width = dimensions.outWidth; 

Для тех, кто не читал комментарий Дмона. Код для этого выглядит следующим образом:

 final Options opt = new BitmapFactory.Options(); opt.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.drawable.your_photo, opt); opt.outHeight; // height of resource opt.outWidth; // width of resource