Ответ
В Android можно определить размер изображения несколькими способами:
- BitmapFactory.Options (без загрузки в память):
val options = BitmapFactory.Options().apply {
inJustDecodeBounds = true
}
BitmapFactory.decodeResource(resources, R.drawable.image, options)
val width = options.outWidth
val height = options.outHeight
- Через Bitmap (если изображение уже загружено):
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.image)
val width = bitmap.width
val height = bitmap.height
- Для ImageView:
imageView.post {
val width = imageView.width
val height = imageView.height
}
- Через ресурсы (для drawable):
val drawable = ContextCompat.getDrawable(context, R.drawable.image)
val width = drawable?.intrinsicWidth
val height = drawable?.intrinsicHeight
Первый способ наиболее эффективен, так как не загружает изображение в память.