2013-02-25 12 views
10

Ho un Bitmap caricato che vorrei convertire per impostare la configurazione su Bitmap.Config.RGB_565. Esiste un modo semplice per convertire un Bitmap in questa configurazione dopo che Bitmap è già stato caricato in memoria? Ad esempio, di seguito ho una bitmap decodificata dalle risorse dell'applicazione, tuttavia, come convertire un Bitmap già caricato in RGB_565? Sono sicuro che sia qualcosa di semplice, tuttavia, sono abbastanza nuovo nel lavorare con Bitmap e dopo alcune ore di ricerca online, sfortunatamente non sono riuscito a trovare ciò di cui avevo bisogno in particolare.Conversione di bitmap in memoria in Bitmap con Bitmap.Config.RGB_565

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inPreferredConfig=Bitmap.Config.RGB_565 
bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.myphoto ,options); 

risposta

21

Non ho provato questo, ma dovrebbe funzionare:

private Bitmap convert(Bitmap bitmap, Bitmap.Config config) { 
    Bitmap convertedBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), config); 
    Canvas canvas = new Canvas(convertedBitmap); 
    Paint paint = new Paint(); 
    paint.setColor(Color.BLACK); 
    canvas.drawBitmap(bitmap, 0, 0, paint); 
    return convertedBitmap; 
} 

chiamare i metodi in questo modo:

Bitmap convertedBitmap = convert(bitmap, Bitmap.Config.RGB_565); 

si possono fare tutti i tipi di ulteriori trasformazioni come la rotazione, stretching, ecc se usi drawBitmap con una Matrix.

13

Si può anche provare questo:

Bitmap converted = original.copy(Config.RGB_565, false); 

Dal documentation di Bitmap.copy():

cerca di fare una nuova bitmap in base alle dimensioni di questa bitmap, fissando il nuovo configura la bitmap su quella specificata, quindi copia i pixel di questa bitmap nella nuova bitmap. Se la conversione non è supportata o l'allocatore ha esito negativo, restituisce NULL.

Guardando attraverso il codice sorgente nativo, si dovrebbe procedere alla conversione tra qualsiasi valore di Bitmap.Config.

Problemi correlati