如何将位图覆盖在特定XY位置的另一个位图上

San*_*ush 2 android bitmap android-canvas

我正在开发一个我使用过画布的项目,用户可以触摸将一个位图叠加移动到另一个位图.当用户按下保存按钮时,两个位图都应合并并成为单个位图.我做了所有的事情,现在合并两个位图在XY位置仍然存在.在我的研究中,我发现了以下代码.

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;
    }
Run Code Online (Sandbox Code Playgroud)

但是这段代码在(0,0)位置覆盖了位​​图.我想在我给定的位置叠加位图.请提出一些解决方案.提前致谢.

Pan*_*nde 5

使用以下代码

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, x,y, null);
    return bmOverlay;
}
Run Code Online (Sandbox Code Playgroud)

其中x和y是您必须绘制叠加位图的实际位置.