Intereting Posts
Как определить, какое Bluetooth-устройство вызывает ACTION_ACL_CONNECTED? Последние запросы не отображаются, пользовательские предложения Разработка на Android-устройстве через беспроводную сеть Сфотографировать изображение на реальном устройстве Как установить цвет звезды в баре рейтинга? Постоянный магазин Cookie с использованием okhttp 2 на Android Как узнать вызываемого абонента отвечает на вызов (что такое состояние телефона, когда он поднимает вызов) Есть ли лучший способ получить ссылку на родительский RecyclerView из адаптера? GoogleApiClient onConnectionSuspended, должен ли я снова вызвать mGoogleApiClient.connect ()? Android – Как запустить Google Map в Android-приложении с определенным местоположением, уровнем масштабирования и маркером Как мы можем использовать onNewIntent () в любой деятельности? AndroidStudio / Gradle with powermock Как удалить свое приложение с Android-рынка RadioButton – как использовать пользовательский доступный? Android удаляет панель действий приложения

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