307 votes

Comment mettre une image bitmap à partir de ressources

Cela semble simple, je suis en train de mettre une image bitmap mais à partir des ressources que j'ai à l'intérieur de l'application dans le dossier drawable.

 bm = BitmapFactory.decodeResource(null, R.id.image);

Est-ce correct ?

807voto

xandy Points 13480

En supposant que vous êtes à l'appel de cette dans une Activité de classe

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

Le premier paramètre, les Ressources, est nécessaire. Il est normalement disponible dans n'importe quel Contexte (et sous-classes d'une Activité).

40voto

Parag Chauhan Points 11830

Essayez ceci

C'est à partir de sdcard

ImageView image = (ImageView) findViewById(R.id.test_image);
Bitmap bMap = BitmapFactory.decodeFile("/sdcard/test2.png");
        image.setImageBitmap(bMap);

C'est à partir de ressources

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);

9voto

trgraglia Points 3196

Si la ressource est de montrer et d'une vue, vous pouvez également capturer. Comme une capture d'écran:

View rootView = ((View) findViewById(R.id.yourView)).getRootView();
rootView.setDrawingCacheEnabled(true);
rootView.layout(0, 0, rootView.getWidth(), rootView.getHeight());
rootView.buildDrawingCache();

Bitmap bm = Bitmap.createBitmap(rootView.getDrawingCache());

rootView.setDrawingCacheEnabled(false);

En fait, ce n'attrape toute la mise en page, mais vous pouvez le modifier comme vous le souhaitez.

3voto

Pir Fahim Shah Points 1786

Si vous devez déclarer un objet bitmap et que vous souhaitez l'afficher ou de magasin de cet objet bitmap. mais vous devez d'abord assigner n'importe quelle image , et vous pouvez utiliser l'événement click du bouton, ce code ne démontrent que la façon de stocker l'drawable image en Objet bitmap.

Bitmap  contact_pic=    BitmapFactory.decodeResource(v.getContext().getResources(), R.drawable.android_logo);

Maintenant, vous pouvez utiliser cet objet bitmap, si vous souhaitez le stocker ou de les utiliser dans google maps pendant le tracé d'un pic sur le fixe de la latitude et de la longitude, ou à l'utilisation de certains où d'autre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X