微信小程序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 相关文章推荐
关于CSS Tooltips(鼠标经过时显示)的效果
Apr 10 HTML / CSS
CSS3绘制有活力的链接下划线
Jul 14 HTML / CSS
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
Jan 06 HTML / CSS
利用CSS3的3D效果制作正方体
Mar 10 HTML / CSS
Html5中的桌面通知Notification的实现
Sep 25 HTML / CSS
canvas基础之图形验证码的示例
Jan 02 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
HTML5在IE10、火狐下中文乱码问题的解决方法
Nov 18 HTML / CSS
html5 css3网站菜单实现代码
Dec 23 HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 HTML / CSS
CSS3新特性详解(五):多列columns column-count和flex布局
Apr 30 HTML / CSS
CSS子盒子水平和垂直居中的五种方法
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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
python中setuptools的作用是什么
2020/06/19 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
初中思品教学反思
2016/02/20 职场文书