将文本转换成图片

直接上代码

public class TextImageConvertion {

    //Data fields.
    private String text;
    private final Rect bounds = new Rect();
    private TextPaint textPaint;
    private StaticLayout mTextLayout;
    private Bitmap bmp;
    private Canvas canvas;

    //Constructor
    public TextImageConvertion(String text){
        this.text=text;
    }

    public void drawAndSaveImage(){
        textPaint = new TextPaint() {
            {
                setColor(Color.WHITE);
                setTextAlign(Paint.Align.LEFT);
                setTextSize(20f);
                setAntiAlias(true);
            }
        };
        textPaint.getTextBounds(text,0, text.length(), bounds);
        mTextLayout = new StaticLayout(text, textPaint,
                bounds.width(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
        int maxWidth = -1;
        for (int i = 0; i < mTextLayout.getLineCount(); i++) {
            if (maxWidth < mTextLayout.getLineWidth(i)) {
                maxWidth = (int) mTextLayout.getLineWidth(i);
            }
        }
        bmp = Bitmap.createBitmap(maxWidth , mTextLayout.getHeight(),
                Bitmap.Config.ARGB_8888);
        bmp.eraseColor(Color.BLACK);// just adding black background
        canvas= new Canvas(bmp);
        mTextLayout.draw(canvas);
        File imageFile=new File(Environment.getExternalStorageDirectory()+"/example.png");
        try {
            FileOutputStream stream;
            stream = new FileOutputStream(imageFile);
            bmp.compress(CompressFormat.PNG, 85, stream);
            bmp.recycle();
            try {
                stream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 


    }

    public Bitmap getBitmap(){
        return bmp; 
    }


}

参考自stackoverflow:
http://stackoverflow.com/questions/9973048/convert-text-to-image-file-on-android

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值