android - 如何将位图覆盖在另一个位图上

标签 android android-canvas android-bitmap

我已经尝试了此处建议的解决方案 Android: How to overlay-a-bitmap/draw-over a bitmap? 。我似乎在工作,但我从中获得了一个稍微迷失方向的图像。

before-overlay

after-overlay

enter image description here enter image description here

我已将编辑图标设置为在 Canvas 上开始和停止绘图之间切换。当用户停止绘图时,我检索 Canvas 位图和 imageView 并在 imageView 上覆盖 Canvas 位图。 从截图中可以看出,imageView是笔记本电脑图像,canvas位图是我画的向上箭头。 这是我的叠加函数。

private 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, new Matrix(), null);
        return bmOverlay;
    }

我是 Android 新手,希望在这方面得到一些帮助。 谢谢!

最佳答案

我认为你可以使用这样的东西来实现你想要的:

Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
Canvas result = new Canvas(underlayBitmap);
result.drawBitmap(overlayBitmap, left, top, paint);

您可以指定要绘制叠加层的顶部和左侧。

希望这有帮助。

关于android - 如何将位图覆盖在另一个位图上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40692616/

相关文章:

android - 获取apk文件图标、版本、名称

android - 如何以编程方式调整自定义 View 的大小?

android - 添加到 list 中的内容以拒绝 Kindle Fire 1st Gen

android - 当三次贝塞尔曲线的端点变化时找到新的控制点

java - 在圆形位图上添加圆框圆

java - 在位图上绘制固定位置的文本

java - 如何在同一屏幕上拥有按钮和自定义绘画 View ?安卓

android - 了解 Android Canvas 裁剪

java - 如何在android中旋转位图?

android - 以原始形式保存图像且不压缩