我有一个与android有关的事情, 所以,我有2张图片, 1.来自相机的图像 2.来自某个地方的另一张图片
所以我想要实现的是如何将这些图像组合成1个图像,但它重叠(就像为图像添加水印一样), 第二个图像应首先缩放到第一个图像(相机)的大小 - 所以它们具有相同的尺寸,如果第二个图像像素是黑色,则不要将它组合(因此黑色表示透明色 - 在第二个图像上)
你知道实现这个的最佳方法是什么,我可以用xor或bitwise做到这一点吗?
任何参考或示例代码都非常值得赞赏。
谢谢你们,
答案 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);