2010-09-09 13 views
15

Tengo unas cosas que hacer con androide, lo tanto, tengo 2 imágenes, 1. imagen de la cámara 2. otra imagen de alguna parte2 Imágenes superpuestas

así que lo que queremos lograr es cómo combinar esas imágenes en 1 imagen, pero se solapa (como marca de agua en la imagen), , la 2ª imagen debe escalarse primero en el tamaño de la 1ª imagen (cámara), para que tengan la misma dimensión, luego si la segunda imagen el píxel es negro, no lo combine (entonces el negro significa color transparente - en la 2da imagen)

¿sabe cuál es la mejor manera de lograr esto? ¿Puedo hacerlo con xo? ¿o bit a bit?

Cualquier código de referencia o de muestra sería realmente muy apreciado.

Gracias chicos,

+0

http: //kyogs.blogspot. en/2012/08/mearge-images.html marque este. – kyogs

Respuesta

44

para superponer dos mapas de bits:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { 
     Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); 
     Canvas canvas = new Canvas(bmOverlay); 
     canvas.drawBitmap(bmp1, new Matrix(), null); 
     canvas.drawBitmap(bmp2, 0, 0, null); 
     return bmOverlay; 
    } 

Y para escalar una primera que debe salir createScaledBitmap, por ejemplo:

Bitmap scaledBitmap = Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter); 
+0

hola, gracias por su respuesta, lo intentaré primero y volveré aquí con el resultado – AnD

+0

hola. Es un trabajo incluso con la gran dimensión ~ 2000px x 1500px, pero el problema es que si lo hago dos veces, se obtiene el segundo intento. una excepción (puede estar fuera de sincronización) - puse tu código dentro de la cadena – AnD

+0

@ AnD @ Cpt.Ohlund: en mi dispositivo, la imagen inferior (bmp1) no se muestra. ¿Sabes por qué? En lugar de esa imagen, se mostraba un color. – Surej

Cuestiones relacionadas