resource how create java android bitmapdata

java - how - ¿Cuántas formas de convertir bitmap a cadena y viceversa?



how to create a bitmap image in android (3)

Sí, puedes hacerlo por implícito este código:

Cadena a mapa de bits:

public Bitmap StringToBitMap(String encodedString) { try { byte[] encodeByte = Base64.decode(encodedString, Base64.DEFAULT); Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length); return bitmap; } catch (Exception e) { e.getMessage(); return null; } }

Bitmap a String:

public String BitMapToString(Bitmap bitmap) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray(); String temp = Base64.encodeToString(b, Base64.DEFAULT); return temp; }

En mi aplicación, quiero enviar una imagen de mapa de bits al servidor en forma de cadena, quiero saber de cuántas maneras están disponibles para convertir un mapa de bits en cadena. ahora estoy usando el formato Base64 para codificar y decodificar, toma poco más memoria. ¿Existe alguna otra posibilidad para hacer lo mismo de diferentes maneras, lo que requiere menos costos de memoria? Ahora estoy usando este código.

Resources r = ShowFullImage.this.getResources(); Bitmap bm = BitmapFactory.decodeResource(r, R.drawable.col); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object byte[] b = baos.toByteArray(); String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);


puede utilizar byteArray para enviar imágenes u otros datos. No hay codificación y decodificación requerida. y tienes que usar el cuerpo de varias partes para enviar datos al servidor.


public String BitMapToString(Bitmap bitmap){ ByteArrayOutputStream baos=new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG,100, baos); byte [] b=baos.toByteArray(); String temp=Base64.encodeToString(b, Base64.DEFAULT); return temp; }

Este es el procedimiento inverso para convertir una cadena en un mapa de bits, pero la cadena debe codificar Base64

/** * @param encodedString * @return bitmap (from given string) */ public Bitmap StringToBitMap(String encodedString){ try { byte [] encodeByte=Base64.decode(encodedString,Base64.DEFAULT); Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length); return bitmap; } catch(Exception e) { e.getMessage(); return null; } }