Je souhaite obtenir la hauteur et la largeur d'une image dans ImageView ou d'une image d'arrière-plan dans Android emulator.S'il vous plaît aidez-moi, toute aide sera appréciée
Vous pouvez obtenir la hauteur et la largeur de ImageView en utilisant getWidth () et getHeight () sans que cela ne vous donne la largeur et la hauteur exactes de l'image. Pour obtenir d'abord la largeur de l'image, vous devez d'abord obtenir le dessin comme fond puis la convertir dessinable en BitmapDrawable pour obtenir l'image en tant que bitmap à partir de laquelle vous pouvez obtenir la largeur et la hauteur comme ici
Bitmap b = ((BitmapDrawable)imageView.getBackground()).getBitmap();
int w = b.getWidth();
int h = b.getHeight();
ou faire comme ici
imageView.setDrawingCacheEnabled(true);
Bitmap b = imageView.getDrawingCache();
int w = b.getWidth();
int h = b.getHeight();
le code ci-dessus vous donnera un bitmap de taille imageview actuel comme une capture d'écran d'un appareil
pour seulement la taille ImageView
imageView.getWidth();
imageView.getHeight();
Si vous avez une image dessinable et que vous voulez cette taille, vous pouvez obtenir comme ceci
Drawable d = getResources().getDrawable(R.drawable.yourimage);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();
Pour une raison quelconque, la réponse acceptée ne fonctionnait pas pour moi. J'ai plutôt atteint la dimension de l'image conformément au ppp d'écran cible comme celui-ci.
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);
Voici le lien original
http://upshots.org/Android/android-get-dimensions-of-image-resource
BitmapDrawable b = (BitmapDrawable)this.getResources().getDrawable(R.drawable.cake);
Log.d("MainActivity", "Image Width: " + b.getBitmap().getWidth());
Il ne montre pas le nombre exact de pixels dans la ressource image mais un nombre significatif peut-être que quelqu'un peut expliquer davantage.