前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序--Canvas文字居中

小程序--Canvas文字居中

作者头像
前端黑板报
发布2018-07-24 16:21:53
3.2K0
发布2018-07-24 16:21:53
举报
文章被收录于专栏:前端黑板报前端黑板报

最近在维护我的小程序,加了一个小功能。

功能描述:在一个canvas上输出的文字居中

找了一下官网的API:

  1. 输出文字:fillText
  2. 居中:setTextAlign

然后我就写了如下代码:

效果如下图:

并没有在屏幕中间,然后我又搜了一下MDN上的解释:

注意红色划线的解释:对齐方式是以 X 的值为基点,然后在看看官网的 setTextAlign 最下面的图:

加上上面那句话,再看这张图片就很好理解了(微信小程序团队的小伙伴还真隐晦)。

有上面的一些准备就好办了,只要把 x 的值设置为canvas宽度的一半就好了。

因为我设置的canvas的宽度是100%,所以还得拿到屏幕的可用宽度,所以代码如下:

效果如下:

你以为现在结束了吗?

我还要提供另一种解法:

返回文本的宽度,代码如下:

效果也是一样的。

注意:

  1. measureText是在1.9.90版本加上的,有兼容性问题
  2. 用此方法时,要在设置字体大小、样式之后,不然计算的是未设置之前的宽度
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端黑板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档