我有一个透明背景的PNG图像(R.drawable.circle)。我需要在画布中绘制它,这就是我将其转换为Bitmap的原因。但我希望透明背景是Color.WHITE。我怎么做?有可能吗?
private void drawer(Canvas canvas) {
Bitmap animal = BitmapFactory.decodeResource(getResources(),R.drawable.circle);
canvas.drawBitmap(Bitmap.createScaledBitmap(animal,100,100, false), 0, 0, null);
}
答案 0 :(得分:1)
试试这种方式
private void drawer(Canvas canvas) {
Bitmap bitmapOriginal = BitmapFactory.decodeResource(getResources(), R.drawable.circle);
Bitmap bitmapNew = Bitmap.createBitmap(bitmapOriginal.getWidth(), bitmapOriginal.getHeight(), Config.ARGB_8888);
bitmapNew.eraseColor(Color.WHITE); // color that You want to set
canvas.drawBitmap(bitmapNew, 0, 0, null);
canvas.drawBitmap(bitmapOriginal, 0, 0, null);
}
答案 1 :(得分:0)
在绘制位图之前,使用所需的背景颜色填充画布,例如
canvas.drawColor(Color.WHITE);
顺便说一下,您不需要编写低级别的绘图代码,只是为了在背景颜色上呈现位图资源。您可以简单地使用带有src和背景的ImageView。