我试图替换颜色的东西是在Canvas使用AvoidXferMode绘制的颜色。 从Android文档,它看起来像它正是我需要的:AvoidXferMode更换画布
AvoidXfermode xfermode将无处不在画SRC除了在opColor的顶部或取决于模式,只绘制在opColor的顶部。
我想要是这样的:
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawPaint(paint); // actually drawing a bitmap here
paint.setXferMode(new AvoidXferMode(Color.RED, 0, TARGET);
paint.setColor(Color.GREEN);
canvas.drawPaint(paint);
然而,这只是给出了一个红色的屏幕,而不是绿如我所期望的(绿色替换红色)。我想我错过了一些地方......任何建议?
链接到Eric Burke的页面现已停止。 – Trevor 2012-08-15 22:06:08
@Trevor更新了这篇文章,你可以改正它,而不是降低它。解决方案的要点不在于链接,而在于答案本身。 – botteaap 2012-08-17 06:55:03
非常感谢澄清 - 现在upvoted。对不起,我自己没有改正,因为我真的没有从你的答案中得到完整的图片,却没有看到埃里克的页面。 – Trevor 2012-08-17 10:18:05