Mam jednokanałowy plik PNG, który chciałbym użyć jako maski alfa do operacji rysowania Porter-Duff. Jeśli załaduję go bez żadnych opcji, wynikowa mapa bitowa ma konfigurację RGB_565, czyli jest traktowana jako skala szarości. Jeśli ustawię preferowaną konfigurację na ALPHA_8, ładuję ją zamiast ARGB_8888 w skali szarości.
Jak mogę przekonać Androida do traktowania tego pliku jako maski alpha zamiast obrazu w skali szarości?
mask1 = BitmapFactory.decodeStream(pngStream);
// mask1.getConfig() is now RGB_565
BitmapFactory.Options maskOpts = new BitmapFactory.Options();
maskOpts.inPreferredConfig = Bitmap.Config.ALPHA_8;
mask2 = BitmapFactory.decodeStream(pngStream, null, maskOpts);
// mask2.getConfig() is now ARGB_8888 (the alpha channel is fully opaque)