最近做一个刮刮卡,需要将文字在canvas中水平、垂直居中
wxml
<canvas type='2d' id="myCanvas" width="300" height="150" style="background:yellow;" \>
使用canvas2d构建画布
蓝色线为水平中线
红色线为垂直中线
文本设置方法
fillText
方法为canvas设置文本方法,使用如下所示
ctx.fillText('文本内容', x, y)
x为横轴坐标
y为纵轴坐标
上例将文本内容设置在canvas画布的坐标位置上,跳脱web的开发思维,我们可以认为X点相对于文本有左,中,右三种布局,Y点相对于文本有上、中、下的布局,这样就很好理解文本在canvas上是如何绘制了
水平居中
找到X轴的中点位置,如上图,在150px这个点上
注意X点相对于文本的位置
ctx.fillStyle = '#aaa' ctx.font = 'bold 30px "Gill Sans Extrabold"' ctx.textAlign = 'center' ctx.fillText('文本内容', 150, 0)
图示只作说明
垂直居中
找到X轴的中点位置,如上图,在75px这个点上
注意Y点相对于文本的位置
ctx.fillStyle = '#aaa' ctx.font = 'bold 30px "Gill Sans Extrabold"' ctx.textBaseline = 'middle' ctx.fillText('文本内容', 0, 75)
图示只作说明
完美居中
ctx.fillStyle = '#aaa' ctx.font = 'bold 30px "Gill Sans Extrabold"' ctx.textAlign = 'center' ctx.textBaseline = 'middle' ctx.fillText(opts.maskerTitle, left, top)
总结
以上所述是小编给大家介绍的小程序中canvas实现水平、垂直居中效果,希望对大家有所帮助!
HTML+CSS 1.对WEB标准以及W3C的理解与认识 标签闭合、标签小写、不乱嵌套、提高...
这是第 97 篇不掺水的原创,想获取更多原创好文,请搜索公众号关注我们吧~ 本文...
今天校招笔试题要求实现一个首行首列固定,宽度自适应窗口变化,但窗口缩小到一...
前言 如果你对某个div或模块使用了overflow: scroll属性,在iOS系统的手机上浏览...
在这篇文章中,我将解释关于Python的入口点。大多数人都知道入口点是您在setup.p...
[Ctrl+A 全选 注: 引入外部Js需再刷新一下页面才能执行 ] 本文转载自网络,原文...
从下面的参考资料里找到dw的下载地址,下把软件下载下来 热门版本类型推荐 下载...
网制作网页的时候,需要选择男女,所以需要添加下拉菜单,今天我们就来看看dw制...
写这个效果,可以熟悉以下: 1、相对定位中的绝对定位; 2、CSS 针对浏览器 HACK...
话不多说 直接上代码 * { margin: 0; padding: 0; } .container { margin:300px ...