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, 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();

我通过这样做做到了——

    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);
    }

基本上是在这里给出的——http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas

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

最新更新