android - 合并 2 个重叠的图像

标签 android image bitmap

我有一些与安卓有关的事情, 所以,我有2张图片, 1. 来自相机的图像 2. 来自某处的另一张图片

所以我想要实现的是如何将这些图像组合成一张图像,但它是重叠的(就像给图像加水印一样), 第二张图像应该首先缩放到第一张图像(相机)的大小 - 所以它们具有相同的尺寸,然后如果第二张图像像素是黑色,不要组合它(所以黑色意味着透明颜色 - 在第二张图像上)

您知道实现此目的的最佳方法是什么吗?我可以用异或或按位来做到这一点吗?

非常感谢任何引用或示例代码。

谢谢大家,

最佳答案

用于叠加两个位图:

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

关于android - 合并 2 个重叠的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3674441/

相关文章:

Android webview 不填充设备屏幕高度

android - 如何将 Android 模拟器附加到 ADB?

html - 保持 div 和图像分离实体

java - 如何使用 volley 将 base64 字符串发送到服务器

java - 将 DateFormat 设置为当前日期和时间

android - 给定的 SOAPAction 与操作不匹配

javascript - 根据具有自定义值属性的选择选项显示图像

javascript - 如何使用javascript更改img的来源

java - 在 Canvas 中居中 public void onDraw(Canvas canvas) 内的缩放位图

android - BitmapFactory 解码 BMP 图像