合并2个图像叠加

时间:2010-09-09 07:03:33

标签: android image bitmap

我有一个与android有关的事情, 所以,我有2张图片, 1.来自相机的图像 2.来自某个地方的另一张图片

所以我想要实现的是如何将这些图像组合成1个图像,但它重叠(就像为图像添加水印一样), 第二个图像应首先缩放到第一个图像(相机)的大小 - 所以它们具有相同的尺寸,如果第二个图像像素是黑色,则不要将它组合(因此黑色表示透明色 - 在第二个图像上)

你知道实现这个的最佳方法是什么,我可以用xor或bitwise做到这一点吗?

任何参考或示例代码都非常值得赞赏。

谢谢你们,

1 个答案:

答案 0 :(得分:47)

用于覆盖两个位图:

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

首先缩放一个,你应该看看createScaledBitmap,例如:

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