Android中如何将字符串转为Bitmap

过程

  1. 计算字符串绘制成图片时的图片大小
  2. 创建位图
  3. 绘制位图

代码

    public static Bitmap fromText(float textSize, String text) {
        Paint paint = new Paint();
        paint.setTextSize(textSize);
        paint.setTextAlign(Paint.Align.LEFT);
        paint.setColor(Color.BLACK);

        Paint.FontMetricsInt fm = paint.getFontMetricsInt();

        int width = (int)paint.measureText(text);
        int height = fm.descent - fm.ascent;

        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        canvas.drawText(text, 0, fm.leading - fm.ascent, paint);
        canvas.save();

        return bitmap;
    }

示例

将货币符号转成位图显示在控件左侧,将金额作为控件的文本值,可以使控件更好的表示金钱的概念

Currency currency = Currency.getInstance("USD");
Bitmap bitmap = fromText(36, currency.getSymbol());
Drawable drawable = new BitmapDrawable(bitmap);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
view.setCompoundDrawables(drawable , null, null, null);
    原文作者:核子飞弹
    原文地址: https://www.jianshu.com/p/658e8a8c56a6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞