我正在构建一个Android应用程序,我遇到了一个简单的问题:我如何绘制(或“添加”)Canvas对象到另一个Canvas对象,比如“合并”它们?
如果那不可能,那么这样做的最佳解决方案是什么?
谢谢!
答案 0 :(得分:9)
这完全取决于您的实施。
如果每个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转移到另一个Canvas。但是,无论您的实现如何,上述方法之一都应该对您有效。