2011-05-25 16 views
12

Tengo estas dos imágenes, que básicamente se combinan en el lienzo. Ahora quiero guardar ese lienzo en una imagen. ¿Cómo debo hacerlo o si hay alguna otra manera de unir dos imágenes?Android fusionar dos imágenes

Mi código de ejemplo es -

  Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), 
       R.drawable.duckpic); 
     Bitmap bmp2 = BitmapFactory.decodeResource(getResources(), 
       R.drawable.img); 
     // canvas.drawColor(Color.BLACK); 
     // canvas.drawBitmap(_scratch, 10, 10, null); 
     Bitmap bmOverlay = Bitmap.createBitmap(bmp2.getWidth(), bmp2 
       .getHeight(), bmp2.getConfig()); 
     // Canvas cs = new Canvas(bmp2); 
     canvas.scale((float) 0.5, (float) 0.5); 
     canvas.drawBitmap(bmp2, new Matrix(), null); 
     canvas.drawBitmap(bmp1, new Matrix(), null); 
     canvas.save(); 

Lo tengo trabajo por hacer esto -

cs = Bitmap.createBitmap(c.getWidth(), c.getHeight(), Bitmap.Config.ARGB_8888); 

    Canvas comboImage = new Canvas(cs); 

    comboImage.drawBitmap(s, new Matrix(), null); 
    comboImage.drawBitmap(c, new Matrix(), null); 
    comboImage.save(); 
    // this is an extra bit I added, just incase you want to save the new 
    // image somewhere and then return the location 

    String tmpImg = String.valueOf(System.currentTimeMillis()) + ".png"; 

    OutputStream os = null; 
    try { 
     os = new FileOutputStream("/sdcard/" + tmpImg); 
     cs.compress(CompressFormat.PNG, 100, os); 
    } catch (IOException e) { 
     Log.e("combineImages", "problem combining images", e); 
    } 

Básicamente se le da aquí - http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas

+0

http://kyogs.blogspot.in/2012/08/mearge-images.html consulte este. – kyogs

Respuesta

3

Uso canvas.setBitmap(Bitmap bitmap). Esto enviará el lienzo al mapa de bits especificado. Querrá crear un nuevo mapa de bits mutable para esto. Después de llamar al setBitmap, puede guardar ese mapa de bits en un archivo.