我正在开发一个我使用过画布的项目,用户可以触摸将一个位图叠加移动到另一个位图。当用户按下保存按钮时,两个位图都应合并并成为单个位图。我做了所有的事情,现在合并两个位图在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;
}
但是这段代码在(0,0)位置覆盖了位图。我想在我给定的位置叠加位图。请提出一些解决方案。提前谢谢。
答案 0 :(得分: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;
}
其中x和y是您必须绘制叠加位图的实际位置。