我有一个drawable我正在应用过滤器来使用 drawable.setColorFilter(color,PorterDuff.MILTIPLY)
然后我拿着我用来创建drawable的位图并将它放到画布中,这样我就可以在png的中间写文本了。并通过写作完成
drawable.draw(canvas)
我希望我添加的文本总是白色,无论使用什么颜色过滤器,但现在文本变成用于过滤的颜色。我在想是否可以将过滤后的drawable转换为位图,然后添加文本,但它到目前为止还没有。任何帮助或建议将不胜感激。
这是我的代码
public void setDrawableFilter(String text, int color) {
mBitmap = scaleBitmap(250, 238);
mDrawable = new BitmapDrawable(mContext.getResources(), mBitmap);
mDrawable.setColorFilter(color, PorterDuff.Mode.MULTIPLY);
addTextToBitmap(text);
}
public void addTextToBitmap(String text){
Canvas canvas = new Canvas(mBitmap);
mDrawable.draw(canvas);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(35);
paint.setColor(Color.WHITE);
int canvasWidth = canvas.getWidth();
int canvasHeight = canvas.getHeight();
float xPercent = 0.38f;
float yPercent = 0.58f;
int textX = (int) (canvasWidth * xPercent);//
int textY = (int) (canvasHeight * yPercent);
paint.setTextAlign(Paint.Align.CENTER);
canvas.drawText(text, canvasWidth / 2, textY, paint);
}