Android合并两个图像

问题描述

| 我有这两个图像,基本上是在画布上合并的。现在我想将该画布保存为图像。我应该怎么做,或者是否有其他方法可以合并两个图像。 我的示例代码是-
            Bitmap bmp1 = BitmapFactory.decodeResource(getResources(),R.drawable.duckpic);
        Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),R.drawable.img);
        // canvas.drawColor(Color.BLACK);
        // canvas.drawBitmap(_scratch,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,null);
        canvas.save();
我这样做可以使它正常工作-
    cs = Bitmap.createBitmap(c.getWidth(),c.getHeight(),Bitmap.Config.ARGB_8888);

    Canvas comboImage = new Canvas(cs);

    comboImage.drawBitmap(s,null);
    comboImage.drawBitmap(c,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);
    }
基本上在这里给出-http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas     

解决方法

使用canvas.setBitmap(Bitmap位图)。这会将画布发送到指定的位图。您将为此创建一个新的可变位图。调用“ 2”后,您可以将该位图保存到文件中。