【问题标题】:Combining 2 Images overlayed合并 2 个重叠的图像
【发布时间】:2011-04-10 02:54:17
【问题描述】:

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

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

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

非常感谢任何参考或示例代码。

谢谢大家,

【问题讨论】:

标签: android image bitmap


【解决方案1】:

用于叠加两个位图:

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

【讨论】:

  • 你好,谢谢你的回复,我先试试看结果回来
  • 嗨,即使是大尺寸 ~ 2000px x 1500px,它也可以工作,但问题是如果我这样做两次,第二次尝试就会出现异常(可能不同步) - 我把你的代码线程内部
  • @AnD@Cpt.Ohlund:在我的设备中,bottomImage(bmp1) 没有显示。你知道为什么吗?而不是那个图像显示的是一些颜色。
  • 有什么替代方法,这个太费时间了
猜你喜欢
  • 2011-09-30
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多