2012-05-04 123 views
0

我有一張畫布,如果第一次繪製背景圖片。 然後在背景上繪製另一幅圖像。 我有一個在屏幕上移動的漸變對象。在Gradient中使用的Paint將其Xfermode設置爲,012.paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));在Android畫布中選擇性遮罩

效果起作用,但它也適用於背景圖像。我如何避免背景圖像受到頂部蒙版影響?

回答

0

塗料將應用在您的整個畫布上。由於您的背景是使用與Gradient對象相同的Canvas繪製的,當然使用自定義Xfermode會影響所述背景!

一個可能的解決方案是將背景和前景分離到由不同的位圖對象備份的2個不同的畫布對象中,然後像在Photoshop中一樣合併這些圖層。我發佈了一個示例代碼,它只是在StackOverflow上執行此操作,以下是它的鏈接:

https://stackoverflow.com/a/10370828/1350375