Android - 将位图绘制为一种颜色

时间:2010-12-18 18:15:16

标签: android

我有几个位图(游戏精灵),我想绘制到另一个位图,但源位图的每个非透明像素应使用单一颜色绘制,忽略源的原始像素颜色。基本上,我正在尝试使用精灵作为单个颜色的“标记”来绘制到目标位图中。

我相信我应该使用canvas.drawBitmap(Bitmap位图,Matrix矩阵,Paint paint),但是我不确定如何初始化paint对象。这种方法是否正确?

2 个答案:

答案 0 :(得分:10)

您无需像Romain Guy所建议的那样执行任何步骤,只需使用所需颜色初始化您的绘画,并使用Paint.setColorFilter()PorterDuff.Mode.SRC_ATOP

一起使用
myPaint.setColorFilter(new PorterDuffColorFilter(myColor, PorterDuff.Mode.SRC_ATOP));

答案 1 :(得分:0)

如果您的目标位图是透明的,则通常在该位图内绘制所有精灵(您可以使用null Paint。)然后,使用名为SrcIn的Porter-Duff xfermode绘制一个覆盖整个位图的填充矩形(Source In 。)