我想在画布上绘制位图(指定颜色)。
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
// create bitmap
canvas.drawBitmap(bitmap, 0, 0, paint);
好吧,位图在画布上可见,但可绘制的颜色没有改变。问题出在哪里?
我想在画布上绘制位图(指定颜色)。
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
// create bitmap
canvas.drawBitmap(bitmap, 0, 0, paint);
好吧,位图在画布上可见,但可绘制的颜色没有改变。问题出在哪里?
我想在画布上绘制位图(指定颜色)。
位图包含图像,而以单色绘制图像没有任何意义。你期望它做什么?画一个红色矩形?形状可以用颜色绘制,而不是图像......
你的Color
属性Paint
将被忽略。该Paint
参数用于传递其他设置,例如抗锯齿。
我希望这可以澄清。
paint.setColor(Color.RED)
无关紧要。如果您的图像带有 alpha 通道并且您希望它以单一颜色绘制,请ColorFilter
改用:
paint.setColorFilter(new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);