我有一个画布,如果第一次画出背景图像。 然后在背景上绘制另一个图像。 我有一个在屏幕上移动的渐变对象。 Gradient中使用的Paint将其Xfermode设置为, paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
效果有效,但也适用于背景图像。如何避免背景图像受到顶部面具的影响?
答案 0 :(得分:0)
油漆将应用于整个画布。由于您的背景使用与Gradient对象相同的Canvas绘制,当然使用自定义Xfermode会影响所述背景!
一种可能的解决方案是在由单独的Bitmap对象备份的2个不同Canvas对象中分离背景和前景,然后将这些图层合并到Photoshop中。我刚刚在StackOverflow上发布了一个示例代码,这里是它的链接: