Android: Maximal zulässige Breite und Höhe der Bitmap
Ich erstelle eine App, die große Bilder in Bitmaps decodieren muss, um in einer ImageView angezeigt zu werden.
Wenn ich nur versuche, sie direkt in eine Bitmap zu dekodieren, erhalte ich die Fehlermeldung "Bitmap zu groß, um in eine Textur hochgeladen zu werden (1944x2592, max = 2048x2048)".
Um Bilder mit zu hoher Auflösung anzeigen zu können, verwende ich:
Bitmap bitmap = BitmapFactory.decodeFile(path);
if(bitmap.getHeight()>=2048||bitmap.getWidth()>=2048){
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;
bitmap =Bitmap.createScaledBitmap(bitmap, width, height, true);
}
Das funktioniert, aber ich möchte den Maximalwert von 2048 nicht wirklich fest codieren, wie ich es jetzt in der if-Anweisung getan habe, aber ich kann nicht herausfinden, wie man die maximal zulässige Größe der Bitmap für ein Gerät erhält
Irgendwelche Ideen?