canvas实现文字分行

//paint.setColor(Color.WHITE);//paint.setTextSize(TEXT_SIZE*density);//paint.setAlpha(0x40);//paint.setTypeface(Typeface.create("System",Typeface.BOLD));//canvas.drawText("将大象单车上的二维码放入框内\n获取开锁密码", frame.left, 、、//(float(frame.bottom + (float)TEXT_PADDING_TOP *density), paint);

将原来代码中的文字显示改为以下代码?

?TextPaint textPaint =new TextPaint();

?textPaint.setARGB(0xFF,255,251,240);

?textPaint.setTextSize(TEXT_SIZE * density);

?textPaint.setAntiAlias(true);

StaticLayout layout = new
StaticLayout("将大象单车上的二维码放入框内\r\n获取开锁密码",
textPaint,480,Layout.Alignment.ALIGN_CENTER,
1.0F, 0.0F,
true);

canvas.save();

canvas.translate(frame.left,frame.bottom
+ (float)TEXT_PADDING_TOP
*density);//从扫描匡下开始画

layout.draw(canvas);

?canvas.restore()

;//别忘了restore

时间: 2025-01-16 08:28:09

canvas实现文字分行的相关文章

canvas粒子文字动画教程

1,什么是canvas粒子动画 canvas粒子文字动画效果绚丽,实现的方法和难点主要是根据缓动函数来确定粒子的轨迹. 2.主要实现步骤 创建一个canvas,在canva上绘制文字或图片,然后获取像素的信息并生成一个粒子数组 var imageData = ctx.getImageData(0,0,canvas.width,canvas.height); ... var dotList = []; for(var x=0; x<imageData.width; x+=mass) { for(v

canvas动画文字效果

Doughnut Chartvar c=document.getElementById("canvas");var ctx=c.getContext("2d");ctx.font="50px sans-serif";ctx.fillText("75%",40,92);//ctx.clearRect(40, 52, 74, 68); var c=document.getElementById("canvas"

js 利用canvas 生成文字图片

// text,需要生成的文字 // font,字体样式 drawLogo: function(text, font) { // 创建画布 let canvas = document.createElement('canvas'); // 绘制文字环境 let context = canvas.getContext('2d'); // 设置字体 context.font = font; // 获取字体宽度 let width = context.measureText(text).width;

android canvas drawText()文字居中

近期也是在学习自己定义控件,曾经仅仅自己随便玩了下,一直认为比較难,正好如今工作轻松,每天闲着就看看书看看帖子学习自己定义控件,你还别说自己定义控件学起来还是蛮有趣的!! 这里也跟大家分享下我关于drawText()文字居中的方法. 先附上drawText()的方法说明 说实话当时看了这个,我也没明确这个x,y坐标究竟表达的啥意思,还一直以为是绘制文字中心的坐标,后来发现这个理解是错误的 要想理解这个首先看张图 像图上这样安卓的文字绘制是相对于基线绘制的,也就是图中的红线,而top+bottom

Canvas实现文字粒子化,并且绕轴旋转(完善)

1. 之前有放过一个初始版本,但是因为在旋转的时候,有比较大的瑕疵,造成每个点运动到端点后,出现类似撞击的感觉. 2. 所以本文对旋转作了些调整,运用类似水平方向的圆周运动 a. HTML代码,定义canvas标签 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content

html5 canvas显示文字(写上5个字,纪念我那刚刚逝去的爱情)

<script type="text/javascript"> window.addEventListener('load',eventWindowLoaded,false); function eventWindowLoaded(){ canvasApp(); } function canvasSupport(){ return Modernizr.canvas; } function canvasApp(){ if(!canvasSupport()){ return;

canvas绘制文字

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>初学html5</title> <meta name="keywords" content=""> <meta name="description" content="&

H5 canvas填充文字自动换行

canvas是H5中非常重要,非常常用,也是非常强大的一个新标签,美中不足的事,canvas中没没有自动换行的属性,我的第一反应是,字符串截取,然后计算每行的距离来实现自动换行.. 然后百度了一下,已经有前辈写了个demo,在此记录,以帮忙同样有次困扰的道友.. html: <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>filltext</titl

canvas粒子文字渐进渐出效果

之前一直想做一个文字粒子效果的淡出淡进,这两天事情就写了一下代码,效果地址:http://www.mjix.com/code/canvas-text/   ,按F11进入全屏,做屏保还可以,预览图 主要是在粒子(文字像素点)的位移问题上的处理方法.淡进前需要先获取到像素点的初始位置极其透明度,这个东东运用到数学左边换算问题,要遇到数学有点头大就跳过吧,我学数学的/偷笑 1 //获取渐进前的像素点位置 2 getInData : function(data, min, offset){ 3 var