我是Android开发的新手,所以我在这里有这个新手问题:
我在活动中有一个自定义的画布视图。我想以编程方式显示图像(PNG drawables)。
显然,我有两种方法可以做到这一点,第一种,更常规的方式是:
选项I:
编辑:所以这样,PNG将被显示,但不是真正的“Canvas的一部分”,因为它并没有真正画在“画布”中,但除了它之外,对于用户来说,它是不可能的告诉。
选项II:
使用Drawable对象,将其资源设置为我想要的PNG drawable,然后调用
Drawable.draw(myCanvas)
编辑:通过这种方式,drawable将成为“画布”的一部分,并实际绘制在“画布中”。但话说回来,用户将无法从第一个选项中告诉它。
选项II我会好些吗?特别是,我想操纵png drawable,翻转它,旋转它等等可能使用Matrix。
提前致谢!
编辑:我想尽可能少的麻烦,我希望将来能够将整个画布导出到bmp文件,包括画布上的所有内容和png drawable。
答案 0 :(得分:0)
不同之处在于画布绘制是通过硬件加速(GPU)完成的,动态绘图是由软件(CPU)完成的。如果你禁用硬件加速,它们会变得完全相同。我不确定哪一个更准确,它们看起来就像是不同的实现。