Android:用于渲染照片编辑器图层的用途是什么?

时间:2015-11-11 00:13:21

标签: android android-layout canvas android-canvas android-view

朋友们好! 我需要创建一个照片编辑器,它允许用图画刷上图释,文字和绘图。

Open the illustration

编辑必须能够改变微笑的位置。文字,它们的大小和两个手指的旋转(多点触控)。

力学对我来说很清楚。我发现准备实现多控制器: https://github.com/lukehutch/android-multitouch-controller

但我不明白在性能方面如何更好地可视化所有层:

Layer 3 - text
Layer 2 - emoticons
Layer 1 - drawing
Layer 0 - photo

我不敢使用画布,没有你的意见。我在播放大量图片时听到帆布车。

我发现示例使用带有内部的“层”列表来显示图像层。我认为这个方法对于我的任务来说将是更多的性能数字。 但是我没有找到有关如何在移动项目时更新位置(顶部/左侧)的文档。

我的问题是:所有图层的可视化最佳用途是什么,以及保存最终图像的可能性(合并所有图层)?

请帮助,选择什么,正确的道路是什么! 先感谢您! :)

1 个答案:

答案 0 :(得分:0)

Canvas没有错误。这是您将事物渲染到Bitmap的唯一方法。根据您的要求,我认为您需要将Layers绘制到不同的位图上。 Layer 0将是您的默认位图。每个其他层都将是自己的单独位图。他们必须在自己的位图上的原因是你可以按照自己的意愿移动它们。

您最终合并将通过Canvas.drawBitmap()调用在默认位图上绘制所有这些位图。