Android bitmap绘制文字自动换行

摘要:
需要指出的是,默认情况下,此布局绘制在画布的(0,0)点。如果需要调整位置,则只能在绘制之前移动Canvas Canvas.translate(x,y)的起始坐标;
public Bitmap getNewBitMap(String text) {
        Bitmap newBitmap = Bitmap.createBitmap(120,150, Config.ARGB_4444);
        Canvas canvas = new Canvas(newBitmap);
        canvas.drawBitmap(bmp, 0, 0, null);
        TextPaint textPaint = new TextPaint();
        textPaint.setAntiAlias(true);
        textPaint.setTextSize(16.0F);
        StaticLayout sl= new StaticLayout(text, textPaint, newBitmap.getWidth()-8, Layout.Alignment.ALIGN_CENTER, 1.0f, 0.0f, false);
        canvas.translate(6, 40);
        sl.draw(canvas);
        return newBitmap;
    }

Android StaticLayout参数解释

StaticLayout layout = new StaticLayout(context.getString(R.string.about),textPaint,(int)(300*fDensity),Alignment.ALIGN_CENTER,1.5F,0,false);

layout.draw(canvas);

参数含义:

1.字符串子资源

2 .画笔对象

3.layout的宽度,字符串超出宽度时自动换行。

4.layout的样式,有ALIGN_CENTER, ALIGN_NORMAL, ALIGN_OPPOSITE  三种。

5.相对行间距,相对字体大小,1.5f表示行间距为1.5倍的字体高度。

6.相对行间距,0表示0个像素。

实际行间距等于这两者的和。

7.还不知道是什么意思,参数名是boolean includepad。

需要指出的是这个layout是默认画在Canvas的(0,0)点的,如果需要调整位置只能在draw之前移Canvas的起始坐标
canvas.translate(x,y);

免责声明:文章转载自《Android bitmap绘制文字自动换行》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Barcodex帮助文档机器学习技法 --- 融合模型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Canvas:橡皮筋线条绘制

Canvas:橡皮筋线条绘制 效果演示 实现要点 事件监听 【说明】: 在Canvas中检测鼠标事件是非常简单的,可以在canvas中添加一个事件监听器,当事件发生时,浏览器就会调用这个监听器。 我们可以使用绑定事件属性: canvas.onmousedown = function(e) { //..... }   此外,也可以使用更为通用的...

html5与EmguCV前后端实现——人脸识别篇(一)

  上个月因为出差的关系,断更了很久,为了补偿大家长久的等待,送上一个新的系列,之前几个系列也会抽空继续更新。   大概半年多前吧,因为工作需要,我开始研究图像识别技术。OpenCV在这方面已经有了很多技术积累,在html5领域也很早就有了这方面的Demo。但是一番学习下来,我发现基本上这方面的文章大都比较零散片面,而且很多关键的代码可能已经老化不能正常使...

用html2canvas转html为图片遇到的那些问题

1.图片跨域问题 在html转化为canvas在转化成图片地址的 时候 canvas.toDataURL("image/png") 遇到报错: Access to image at 'png' from origin 'null' has been blocked by CORS policy: Cross origin requests are only...

【Android游戏开发之四】基础的Android 游戏框架(一个游戏角色在屏幕行走的demo)

其实上一篇分析surfaceview的文章就是一个简单的游戏框架了,当然这里再强调一下,简单的游戏框架,以不要高手们不要乱喷哦  ~ 这个Demo是给群里一童鞋写的一个对图片操作以及按键处理,游戏简单框架的一个demo,这里放出给大家分享~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1...

WPFProgressBarAndSlider随位置显示Value

先来一发图,有图有真相。 核心代码如下 ProgressBar添加一个textBlock 绑定Value并且位置绑定进度条的实际宽度 <Canvas Margin="0 0 0 5"> <TextBlock x:Name="tb" TextWrapping="N...

canvas 图片拖拽旋转之一——坐标转换translate

引言 对canvas中绘制的图片进行旋转操作,需要使用ctx.translate变换坐标系,将图片旋转的基点设为坐标系的原点,然后ctx.rotate旋转。 这个时候,因为canvas坐标系发生了旋转,而视觉感受上的坐标以及鼠标事件中的坐标都是旋转之前的屏幕坐标系。再根据鼠标的移动去控制canvas中的图片时,就会出现问题。 用A坐标系中的偏移来控制B坐标...