Es el código simple y en lugar de obtener el resultado para establecer el mapa de bits, obtengo nulo. ¿Alguien puede decirme dónde estoy cometiendo un error?¿Por qué BitmapFactory.decodeByteArray devuelve nulo?
String test = "test";
byte[] byteA = test.getBytes();
Bitmap bmp = BitmapFactory.decodeByteArray(byteA, 0, byteA.length); //<- I get null here
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageBitmap(bmp);
ACTUALIZACIÓN
Ok, así que no puede convertir el texto en la imagen como pensé que pude. ¿Qué hay de esta manera? ¿Esto creará un mapa de bits?
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
paint.setTextSize(16);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.MONOSPACE);
Bitmap bm = Bitmap.createBitmap(16, 16, Bitmap.Config.ALPHA_8);
float x = bm.getWidth();
float y = bm.getHeight();
Canvas c = new Canvas(bm);
c.drawText("Test", x, y, paint);
Lo sé. Lo he leído :). Quise decir, ¿por qué no crea mapa de bits? ¿Dónde está el error en el código? – sandalone
La cadena "prueba" es '74657374' en hexadecimal. Estás tratando de renderizar eso como un mapa de bits. No es uno. – yep
@askmoo: El error está en tratar de leer cuatro bytes como si fueran una imagen. ¿En qué formato de imagen cree que están esos bytes? PNG? JPEG?¿Qué esperarías de la imagen? Tenga en cuenta que * no * está cargando un archivo llamado "prueba" o algo por el estilo ... solo está tratando de crear una imagen a partir de los bytes que representan la cadena "prueba" en la codificación predeterminada de la plataforma. –