因项目需求,将文本转成图片,发送到别的设备。用EditText+Spannable做了一个简单的文本编辑器,可以设置字体,字体大小,加粗,斜体,文本前景色、背景色等等。但是发现,编辑器做好后,不知道怎么将设置好样式的内容转成图片,纠结了两天了。
搞了几天,最后还是同事帮忙找到了解决方法。使用DynamicLayout,可以直接将CharSequence中的样式一起画出来。
Bitmap bmp = Bitmap.createBitmap(areaWidth, areaHeight, Bitmap.Config.ARGB_8888);
Canvas canvasTemp = new Canvas(bmp);
canvasTemp.drawColor(Color.WHITE);
textPaint.setTypeface(font);
DynamicLayout dynamicLayout=new DynamicLayout(content,textPaint,areaWidth, Layout.Alignment.ALIGN_NORMAL,1.0f,1.0f,false);
dynamicLayout.draw(canvasTemp);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。