Подтвердить что ты не робот

Как получить высоту и ширину изображения, используемого в android

Я хочу получить высоту и ширину изображения, которое находится либо в ImageView, либо в фоновом изображении в android emulator.please, помогите мне, любая помощь будет назначена.

4b9b3361

Ответ 1

Вы можете получить высоту и ширину ImageView с помощью getWidth() и getHeight(), пока это не даст вам точной ширины и высоты изображения, для того, чтобы сначала получить ширину ширины изображения, чтобы получить возможность рисования как фон, а затем конвертируйте drawable в BitmapDrawable, чтобы получить изображение в виде растрового изображения, из которого вы можете получить ширину и высоту, как здесь.

Bitmap b = ((BitmapDrawable)imageView.getBackground()).getBitmap();
int w = b.getWidth();
int h = b.getHeight();

или делать здесь

imageView.setDrawingCacheEnabled(true);
Bitmap b = imageView.getDrawingCache();
int w = b.getWidth();
int h = b.getHeight();

приведенный выше код даст вам текущее растровое изображение с размером изображения, например, снимок экрана

только для размера ImageView

imageView.getWidth(); 
imageView.getHeight(); 

Если у вас есть изображение с рисунком, и вы хотите, чтобы этот размер можно было сделать таким образом

Drawable d = getResources().getDrawable(R.drawable.yourimage);
int h = d.getIntrinsicHeight(); 
int w = d.getIntrinsicWidth();      

Ответ 2

По какой-то причине принятый ответ не сработал у меня, вместо этого я достиг размера изображения в соответствии с целевым экраном, подобным этому.

Метод 1

Context context = this; //If you are using a view, you'd have to use getContext();
Resources resources = this.getResources();
BitmapFactory.Options bounds = new BitmapFactory.Options();
bounds.inJustDecodeBounds = true;
BitmapFactory.decodeResource(resources, R.drawable.cake, bounds); //use your resource file name here.
Log.d("MainActivity", "Image Width: " + bounds.outWidth);

Вот исходная ссылка

http://upshots.org/android/android-get-dimensions-of-image-resource

Метод 2

BitmapDrawable b = (BitmapDrawable)this.getResources().getDrawable(R.drawable.cake);
Log.d("MainActivity", "Image Width: " + b.getBitmap().getWidth());

Он не показывает точное количество пикселей в ресурсе изображения, но значимое число, возможно, кто-то может объяснить далее.