2011-08-25 40 views
1

在Android Canvas上,如果我用Alpha 0xCC和Color.RED繪製一個圓,然後繪製另一個與第一個圓具有相同參數的部分重疊的圓,則最終將生成一個維恩圖。在Android Canvas上,如何繪製非交互式alpha的重疊形狀?

這是我發現的一個隨機例子(只是忽略那裏的[文本])。我想繪製如圖所示的重疊圓,但我不希望中心變暗,但我確實希望整個事物具有alpha,以便可以看到底下的地圖。

有沒有辦法直接做到這一點還是需要繪製成位圖沒有Alpha,然後設置alpha爲整個位圖,它畫到畫布? (我還沒有使用位圖,所以我不確定它們是如何使用的。)

回答

3

簡單的方法將是您的建議解決方案,即。將所有沒有alpha的圓形繪製到位圖上,然後使用所需的alpha將該位圖繪製到另一個圓形。 困難的方法是使用混合模式,特別是Android中的PorterDuff.Mode。可以找到一個例子here