2012-05-16 19 views
13

Tengo dos imágenes y quiero guardar una imagen de mapa de bits sobre otra exactamente en el mismo punto donde está presente, también muevo imagen usando un gesto.cómo fusionar dos mapas de bits uno sobre otro

public Bitmap combineImages(Bitmap ScaledBitmap, Bitmap bit) { 

     int X = bit.getWidth(); 
     int Y = bit.getHeight(); 

     Scaled_X = ScaledBitmap.getWidth(); 
     scaled_Y = ScaledBitmap.getHeight(); 

     System.out.println("Combined Images"); 

     System.out.println("Bit :" + X + "/t" + Y); 

     System.out.println("SCaled_Bitmap :" + Scaled_X + "\t" + scaled_Y); 

     overlaybitmap = Bitmap.createBitmap(ScaledBitmap.getWidth(), 
       ScaledBitmap.getHeight(), ScaledBitmap.getConfig()); 
     Canvas canvas = new Canvas(overlaybitmap); 
     canvas.drawBitmap(ScaledBitmap, new Matrix(), null); 
     canvas.drawBitmap(bit, new Matrix(), null); 

     return overlaybitmap; 
    } 

Cualquier ayuda sería muy apreciada.

+0

echar un vistazo a mi post http://stackoverflow.com/questions/6925756/how-to-draw-image-frame-for-camera -view-and-overlapping-the-image-frame-on-captu –

+0

sí, veo que mi mapa de bits bmp2 se fusiona con bmp1, pero mi problema es que quiero guardar exactamente donde hago doble clic en bmp2 después de pinchzooming bmp2 ..... utilizando gestos y el problema ocurre es que bmp2 guardar según el tamaño de bmp1 ....... – rajeev

+0

@IntelliJAmiya por favor, dejen de editar con "Cualquier ayuda sería muy apreciada". Lea http://stackoverflow.com/help/editing –

Respuesta

39

puede combinar dos mapas de bits como esto

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; 
} 
+0

si quiero algo de relleno para que ambos la imagen es visible entonces? – Akram

+1

bmp1 (500, 500) y bmp2 (400,400) sí lo intento, pero bmp1 muestra su tamaño real, pero cuando pellizco bmp2 a (40, 50) lo guardo de acuerdo con bmp1 y quiero guardar donde puse la imagen con un gesto ..... – rajeev

+0

ok finalmente resuelvo mi problema canvas.drawBitmap (bit, parámetro de lienzo, parámetro de lienzo, nulo); – rajeev