來源:https://blog.csdn.net/gissunchangfu/article/details/72271566
生成的圖片背景一直是黑色,幾經查找資料發現,若要使背景為透明,必須設置為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;
}
