¿Por qué Bitmap a Base64 Cadena que muestra el fondo negro en webview en android?

Estoy utilizando un código que se combinan a imágenes en 1 mediante el uso de lienzo. Muestro esa imagen a ImageView que parece muy bien. Pero cuando intento demostrar eso en WebView demuestra el fondo negro a la derecha esa imagen. Intento cambiar el color de fondo en HTML pero no cambio el color. O hacer transparente. ¿Alguien puede ayudar? El resultado está aquí La imagen de arriba está en ImageView y debajo está en WebView.

public class MyBimapTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView img1 = (ImageView) findViewById(R.id.ImageView01); img1.setVisibility(View.INVISIBLE); Drawable dra1 = img1.getDrawable(); Bitmap map1 = ((BitmapDrawable) dra1).getBitmap(); ImageView img2 = (ImageView) findViewById(R.id.ImageView02); img2.setVisibility(View.INVISIBLE); Drawable dra2 = img2.getDrawable(); Bitmap map2 = ((BitmapDrawable) dra2).getBitmap(); // *** ByteArrayOutputStream baos = new ByteArrayOutputStream(); map1.compress(Bitmap.CompressFormat.JPEG, 100, baos); byte[] b = baos.toByteArray(); String abc = Base64.encodeBytes(b); byte[] byt = null; try { byt = Base64.decode(abc); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } map1 = BitmapFactory.decodeByteArray(byt, 0, byt.length); // *** Bitmap map = combineImages(map1, map2); ByteArrayOutputStream bbb = new ByteArrayOutputStream(); map.compress(Bitmap.CompressFormat.JPEG, 100, bbb); byte[] bit = bbb.toByteArray(); String imgToString = Base64.encodeBytes(bit); String imgTag = "<img src='data:image/jpg;base64," + imgToString + "' align='left' bgcolor='ff0000'/>"; WebView webView = (WebView) findViewById(R.id.storyView); webView.loadData(imgTag, "text/html", "utf-8"); Drawable end = new BitmapDrawable(map); ImageView img3 = (ImageView) findViewById(R.id.ImageView03); img3.setImageBitmap(map); } public Bitmap combineImages(Bitmap c, Bitmap s) { Bitmap cs = null; int width, height = 0; width = c.getWidth() + (s.getWidth() / 2); height = c.getHeight() + (s.getHeight() / 2); cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas comboImage = new Canvas(cs); comboImage.drawBitmap(c, 0f, 0f, null); comboImage.drawBitmap(s, c.getWidth() - (s.getWidth() / 2), c .getHeight() - (s.getHeight() / 2), null); return cs; } 

}

El formato JPEG no admite transparencia alfa, por lo que el fondo transparente se vuelve negro cuando convierte su imagen original en JPEG .

Utilice el formato PNG lugar:

  map1.compress(Bitmap.CompressFormat.PNG, 100, baos); 

y

 String imgTag = "<img src='data:image/png;base64," + imgToString + "' align='left' bgcolor='ff0000'/>"; 
  • Elija la cámara en la carga de archivos en la aplicación Córdoba en android sin utilizar la cámara cordova
  • JQuery panel móvil no se cierra completamente sólo en el navegador de Android
  • Android OS Teclado mueve Contenido del sitio web Arriba?
  • Html Audio en la vista web de Android
  • Insignia dinámica HTML de la aplicación de Google Play
  • Acceso a contactos en Android mediante Phonegap
  • Eliminar el relleno de Android predeterminado de correos electrónicos HTML
  • Android Wikipedia La búsqueda de artículos no aparece correctamente en mi webview?
  • ¿El 'meta name = "google-play-app"' funciona?
  • ¿Cómo puedo leer las pausas en el texto descargado?
  • Incorporación de imagen en el correo electrónico en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.