Ответ 1
Это может быть то, что вы ищете:
BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
Я делаю несколько вызовов BitmapFactory.decodeFile()
и BitmapFactory.decodeResource()
, и я хотел бы указать формат, который раскодированные декодируются, например RGB_565 или RGBA_8888.
В настоящее время формат декодированного растрового изображения, по-видимому, зависит от входящего изображения. Альтернативно, есть ли способ конвертировать существующее растровое изображение в определенный формат?
Причина в том, что при попытке декодирования изображения с помощью jnigraphics
некоторые изображения возвращают AndroidBitmapFormat
типа ANDROID_BITMAP_FORMAT_NONE
, который я считаю бесполезным. Кто-нибудь знает больше о том, почему формат не будет ни одним из известных значений? Когда это происходит, встроенный сборщик изображений правильно отображает изображения, декодированные таким образом, поэтому я предполагаю, что должен быть способ справиться с ними.
Спасибо за ваш вклад!
Это может быть то, что вы ищете:
BitmapFactory.Options op = new BitmapFactory.Options();
op.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeFile(path, op);
Когда у вас есть растровое изображение, вы можете вызвать метод копирования, указав BitmapConfig, который в основном вы хотите. http://developer.android.com/reference/android/graphics/Bitmap.html#copy(android.graphics.Bitmap.Config,boolean)