Android: maksymalna dozwolona szerokość i wysokość bitmapy
Tworzę aplikację, która musi dekodować duże obrazy na bitmapy, aby były wyświetlane w ImageView.
Jeśli spróbuję rozszyfrować je bezpośrednio na bitmapę, otrzymam następujący błąd: „Bitmapa jest zbyt duża, aby ją załadować do tekstury (1944x2592, max = 2048x2048)”
Aby móc wyświetlać obrazy o zbyt wysokiej rozdzielczości, używam:
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);
}
Działa to, ale tak naprawdę nie chcę kodować maksymalnej wartości 2048, tak jak w instrukcji if, ale nie mogę dowiedzieć się, jak uzyskać maksymalną dozwoloną wielkość mapy bitowej dla urządzenia
Jakieś pomysły?