微信小程序canvas实现水平、垂直居中效果


Posted in HTML / CSS onFebruary 05, 2020

最近做一个刮刮卡,需要将文字在canvas中水平、垂直居中

微信小程序canvas实现水平、垂直居中效果

wxml

<canvas type='2d' id="myCanvas" width="300" height="150"  style="background:yellow;" \>

 

使用canvas2d构建画布

微信小程序canvas实现水平、垂直居中效果

蓝色线为水平中线

红色线为垂直中线

文本设置方法

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)

微信小程序canvas实现水平、垂直居中效果

图示只作说明

垂直居中

找到X轴的中点位置,如上图,在75px这个点上

注意Y点相对于文本的位置

 

ctx.fillStyle = '#aaa'
ctx.font = 'bold 30px "Gill Sans Extrabold"'
ctx.textBaseline = 'middle'
ctx.fillText('文本内容', 0, 75)

微信小程序canvas实现水平、垂直居中效果

图示只作说明

完美居中

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 相关文章推荐
CSS3轻松实现清新 Loading 效果的简单实例
Jun 06 HTML / CSS
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
Feb 04 HTML / CSS
两种CSS3伪类选择器详细介绍
Dec 24 HTML / CSS
CSS3 实现侧边栏展开收起动画
Dec 22 HTML / CSS
HTML5表格_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 HTML / CSS
html5与css3小应用
Apr 03 HTML / CSS
Html5+JS实现手机摇一摇功能
Apr 24 HTML / CSS
HTML5页面音视频在微信和app下自动播放的实现方法
Oct 20 HTML / CSS
浅谈HTML5新增和废弃的标签
Apr 28 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 HTML / CSS
Html5定位终极解决方案
Feb 05 #HTML / CSS
canvas简单连线动画的实现代码
Feb 04 #HTML / CSS
html5手机键盘弹出收起的处理
Jan 20 #HTML / CSS
canvas实现烟花的示例代码
Jan 16 #HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
Jan 14 #HTML / CSS
Html5跳转到APP指定页面的实现
Jan 14 #HTML / CSS
html5自动播放mov格式视频的实例代码
Jan 14 #HTML / CSS
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
mysql 搜索之简单应用
2007/04/27 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
js 获取radio按钮值的实例
2013/08/17 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vue实现评论列表功能
2019/10/25 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
Python实现单词翻译功能
2017/06/06 Python
python交互界面的退出方法
2019/02/16 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python 动态调用函数实例解析
2019/10/21 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
写好自荐信要注意的问题
2013/11/10 职场文书
个人求职简历中英文自我评价
2013/12/16 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
西安事变观后感
2015/06/12 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书