Setting Text to Image On Android and Adjudt the text font size based on the andr

论坛 期权论坛 脚本     
匿名技术用户   2020-12-29 08:37   11   0

1. Setting Text to Image On Android

2. Adjudt the text font size based on the android resolution

3. 文字居中: paint.setTextAlign(Align.CENTER);然后drawText的x坐标设置为width / 2即可

private float toPixel(Resources res, int dip)
{
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dip, res.getDisplayMetrics());
return px;
}

public Bitmap createBitmap(Bitmap src, String str)
{
DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

int w = src.getWidth();
int h = src.getHeight();

int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;

int height = (int)960*68/screenHeight;
Bitmap bmpTemp = Bitmap.createBitmap(w, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bmpTemp);
Paint p = new Paint();

Typeface font = Typeface.create(Typeface.DEFAULT,Typeface.BOLD);
p.setColor(Color.GRAY);
p.setTypeface(font);

int fontSize = (int)toPixel(getResources(),11);

p.setTextSize(fontSize);
p.setTextAlign(Align.CENTER);
canvas.drawBitmap(src, 0, 0, p);

int y = (int)960 *63/screenHeight;
int x = (int)screenWidth/10;

int adjustWidth = (int)(screenWidth/10 - (screenWidth - 5 *w)/10);

if (adjustWidth < x
&& adjustWidth > 0)
{
x = adjustWidth;
}

canvas.drawText(str,x , y, p);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
return bmpTemp;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP