21. Juni 2013

Android: Drawable skalieren

Der folgende Code zeigt, auf welche Weise eine Grafik, die als Drawable-Objekt vorliegt, in einer Android-App auf eine bestimmte Größe skaliert werden kann. Dazu muss das Drawable-Objekt über die Methode getBitmap():Bitmap zunächst in ein Bitmap-Objekt konvertiert werden. Dieses kann anschließend über die statische createScaledBitmap-Methode der Klasse Bitmap skaliert werden, indem die Objektreferenz, sowie die erwünschte Breite und Höhe des skalierten Bildes in Pixeln übergeben wird. Die Methode gibt als Rückgabewert ein skaliertes Duplikat des übergebenen Bitmap-Objektes zurück. Als letzter Schritt muss dann dieses Bitmap-Objekt zurück in ein Drawable-Objekt konvertiert werden, was über den Konstruktur der Klasse BitmapDrawable möglich ist.
 Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();  
 Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, false);  
 Drawable scaledDrawable = new BitmapDrawable(resources, resizedBitmap);  
Bei dem Objekt drawable im obigen Beispielcode handelt es sich um das zu konvertierende Drawable-Objekt, welches auf 50 x 50 Pixel skaliert werden soll. Das Objekt scaledDrawable enthält am Ende das skalierte Bild.

Keine Kommentare:

Kommentar veröffentlichen