2011-08-25 18 views
1

在Android Canvas上,如果我用Alpha 0xCC和Color.RED绘制一个圆,然后绘制另一个与第一个圆具有相同参数的部分重叠的圆,则最终将生成一个维恩图。在Android Canvas上,如何绘制非交互式alpha的重叠形状?

这是我发现的一个随机例子(只是忽略那里的[文本])。我想绘制如图所示的重叠圆,但我不希望中心变暗,但我确实希望整个事物具有alpha,以便可以看到底下的地图。

有没有办法直接做到这一点还是需要绘制成位图没有Alpha,然后设置alpha为整个位图,它画到画布? (我还没有使用位图,所以我不确定它们是如何使用的。)

回答

3

简单的方法将是您的建议解决方案,即。将所有没有alpha的圆形绘制到位图上,然后使用所需的alpha将该位图绘制到另一个圆形。 困难的方法是使用混合模式,特别是Android中的PorterDuff.Mode。可以找到一个例子here