webentwicklung-frage-antwort-db.com.de

So legen Sie eine Bitmap aus einer Ressource fest

Dies scheint einfach zu sein, ich versuche ein Bitmap-Bild zu setzen, aber aus den Ressourcen, die ich innerhalb der Anwendung im Zeichenordner habe.

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

Ist das richtig?

269
Beginner

Angenommen, Sie nennen dies in einer Aktivitätsklasse

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

Der erste Parameter, Resources, ist erforderlich. Es ist normalerweise in jedem Kontext (und in Unterklassen wie Aktivität) erhältlich.

720
xandy

Versuche dies

Dies ist von SD-Karte

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

Dies ist aus Ressourcen

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

Wenn die Ressource angezeigt wird und eine Ansicht ist, können Sie sie auch erfassen. Wie ein Screenshot:

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);

Dies erfasst tatsächlich das gesamte Layout, aber Sie können es nach Belieben ändern.

7
trgraglia

Wenn Sie ein Bitmap-Objekt deklariert haben und es anzeigen oder dieses Bitmap-Objekt speichern möchten. Aber zuerst müssen Sie ein Bild zuweisen, und Sie können das Schaltflächen-Klick-Ereignis verwenden. Dieser Code zeigt nur, wie das zeichnbare Bild in einem Bitmap-Objekt gespeichert wird.

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

Jetzt können Sie dieses Bitmap-Objekt verwenden, egal ob Sie es speichern oder in Google Maps verwenden möchten, während Sie ein Bild auf festen Längen- und Breitengraden zeichnen, oder woanders verwenden

1
Pir Fahim Shah

Ich habe diese Frage gefunden, als ich eine Bitmap für meine Ansicht festlegen wollte. Aus diesem Grund fand ich diesen Code hilfreicher:

myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey));

Von hier

0

ersetzen Sie einfach diese Zeile

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

mit

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.YourImageName);

Ich meine nur zu sagen, ändern Sie den Nullwert mit getResources () Wenn Sie diesen Code in einer Schaltfläche oder Bildansicht verwenden, klicken Sie auf Ereignis, fügen Sie einfach getApplicationContext () vor getResources () hinzu.

0
Ravi Makvana