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;
}
/**
* 创建指定大小的包含文字的图片,背景为透明
* @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;
}
相关文章推荐
- 分享c#动态生成文字图片解决方案
- C#动态生成文字图片(源码)
- Java生成背景透明的png图片
- 将剪切板中的图片粘贴至Word,浮动于文字上方,设置图片背景透明
- 分享C#动态生成文字图片解决方案
- 分享动态生成文字图片解决方案
- c#WINFORM中如何为动态生成的按钮加背景图片
- 分享c#动态生成文字图片解决方案
- 抽奖滚动文字如何透明地覆盖在动态视频背景上?-活动现场双屏管理系统操作提示
- [转]C#动态生成文字图片
- 动态生成文字图片解决方案
- 动态生成文字图片
- 分享动态生成文字图片解决方案
- png图片生成缩略图——背景透明
- [转]C#动态生成文字图片
- 用AspJpeg调整文字水印透明,生成图片水印的效果
- C#动态生成文字图片
- 生成高清缩略图; 添加图片、文字水印; 图片、文字水印透明
- Android从drawable中动态获取图片设置为XXXLayout背景
- Android PNG透明渐变背景图片失真问题