我正在构建一个 android 应用程序,但我遇到了一件简单的事情:如何将 Canvas 对象绘制(或“添加”)到另一个 Canvas 对象,例如“合并”它们?
如果那不可能,那么最好的解决方案是什么?
谢谢!
我正在构建一个 android 应用程序,但我遇到了一件简单的事情:如何将 Canvas 对象绘制(或“添加”)到另一个 Canvas 对象,例如“合并”它们?
如果那不可能,那么最好的解决方案是什么?
谢谢!
这完全取决于您的实施。
如果每个 Canvas 直接从每个帧的数组(形状等)中绘制对象,您可以简单地将一个数组附加到另一个数组。这样,您的 Canvas 不需要彻底改变,只需将一个数组添加到另一个数组(可能是ArrayList
这里的方式)。
如果不是上述情况,您可能需要进行一些更剧烈的更改。当我遇到类似的问题时,我创建了一个名为 的新方法commitChanges()
,它为现有的 Canvas 添加了一系列更改(在顶部添加线条等)。
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGBA_8888);
。Canvas workingDrawing = new Canvas(bmp);
.canvas.drawBitmap(yourDrawnBitmap, 0.0f, 0.0f, null);
。我认为您将面临的困难是将数据从一个 Canvas 传输到另一个。但是,无论您的实现如何,上述方法之一都应该对您有效。