2012-12-19 32 views
0

我剛剛開始使用Android圖形,並且全面地堅持了這個問題。我目前正在製作一個繪圖應用程序,一旦基本工作正常,我會將它擴展到更酷的應用程序。Android:Canvas drawPath方法繪製純色背景而不是透明背景

我想繪製一個路徑到一個現有的圖像(其中包含所有以前的路徑),但由路徑邊界表示的矩形繪製爲一個堅實的形狀在同一時間,覆蓋背景圖像的位。

我使用下面的命令無效我的畫布,並繪製所需的更新:

invalidate 
(
    (int) (dirtyRect.left - HALF_STROKE_WIDTH), 
    (int) (dirtyRect.top - HALF_STROKE_WIDTH), 
    (int) (dirtyRect.right + HALF_STROKE_WIDTH), 
    (int) (dirtyRect.bottom + HALF_STROKE_WIDTH) 
); 

,並在我的onDraw我有以下幾點:

if (drawing.size() > 0) //if there are paths 
{ 
    canvas.drawPath(drawing.get(drawing.size() - 1), paint); //draw the latest path 
} 

我可以只畫我的繪圖中的所有路徑(定義爲路徑對象的LinkedList),但這非常緩慢。我只想將最新的路徑繪製到畫布上,而不會在路徑周圍出現任何愚蠢的矩形。

我在調用drawPath之前試過canvas.drawColor(Color.TRANSPARENT),但它沒有幫助。

請幫忙!

回答

0

看看porterduff模式,它可以讓你融合