Android – largeur et hauteur du bitmap sans le charger

Je dois avoir la largeur et la hauteur d'un bitmap, mais l'utilisation de ce fait donne une exception hors mémoire:

Resources res=getResources(); Bitmap mBitmap = BitmapFactory.decodeResource(res, R.drawable.pic); BitmapDrawable bDrawable = new BitmapDrawable(res, mBitmap); //get the size of the image and the screen int bitmapWidth = bDrawable.getIntrinsicWidth(); int bitmapHeight = bDrawable.getIntrinsicHeight(); 

J'ai lu la solution à la question Obtenir la taille et la taille du bitmap sans charger dans la mémoire, mais quel serait le inputStream ici?

  • Android jouant des fichiers de films dans un fond d'écran en direct
  • Android: Get Viewgroup de la vue?
  • Appeler une méthode de fragment d'une adaptateur
  • 'Périphériques adb' montrant un périphérique fictif
  • Comment obtenir la valeur uid d'une application Android à partir d'une liste affichée dans un spinner?
  • Qu'est ce que ScrimInsetsFrameLayout?
  • Quand SharedPreferences est-elle supprimée?
  • FindBugs Android Gradle Aucune erreur de classes configurée
  • Android: recherche d'un journal des appels après avoir été mis à jour une fois qu'un appel a terminé
  • Comment exécuter Adobe presser en tant que root?
  • Comment modifier les valeurs xml de la ressource de chaîne dans Android par programme?
  • Changez la couleur d'une barre de recherche sur onProgressChanged
  • 2 Solutions collect form web for “Android – largeur et hauteur du bitmap sans le charger”

    Vous devez également spécifier quelques BitmapFactory.Options :

     BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.id.myimage, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; 

    bDrawable ne contiendra pas de tableau d'octets bitmap. Repris à partir d' ici : Setting the inJustDecodeBounds property to true while decoding avoids memory allocation, returning null for the bitmap object but setting outWidth, outHeight and outMimeType. This technique allows you to read the dimensions and type of the image data prior to construction (and memory allocation) of the bitmap. Setting the inJustDecodeBounds property to true while decoding avoids memory allocation, returning null for the bitmap object but setting outWidth, outHeight and outMimeType. This technique allows you to read the dimensions and type of the image data prior to construction (and memory allocation) of the bitmap.

    Utilisez ceci

     BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.id.myimage, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; 

    Voir http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.