您的位置:首页 > 移动开发 > Android开发

android动态生成背景透明带文字的图片

2017-05-16 13:52 597 查看
生成的图片背景一直是黑色,几经查找资料发现,若要使背景为透明,必须设置为Config.ARGB_4444,或者Config.ARGB_8888,    而不是Bitmap.Config.RGB_565

/**
* 创建指定大小的包含文字的图片,背景为透明
* @param width 图片宽度
* @param height 图片高度
* @param txtSize 文字字号
* @param innerTxt 内容文字
* @return
*/
public static Bitmap createTextImage(int width,int height,int txtSize,String innerTxt) {
//若使背景为透明,必须设置为Bitmap.Config.ARGB_4444
Bitmap bm = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
Canvas canvas = new Canvas(bm);

Paint paint = new Paint();
paint.setColor(Color.GRAY);
paint.setTextSize(txtSize);

//计算得出文字的绘制起始x、y坐标
int posX = width/2 - txtSize*innerTxt.length()/2;
int posY = height/2 - txtSize/2;

canvas.drawText(innerTxt, posX, posY, paint);

return bm;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: