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


来源: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;
	}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM