Я хочу получить высоту и ширину изображения, которое находится либо в ImageView, либо в фоновом изображении в android emulator.please, помогите мне, любая помощь будет назначена.
Как получить высоту и ширину изображения, используемого в android
Ответ 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());
Он не показывает точное количество пикселей в ресурсе изображения, но значимое число, возможно, кто-то может объяснить далее.