微信小程序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实现漂亮便签样式
Mar 18 HTML / CSS
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
Oct 10 HTML / CSS
使用css3匹配手机屏幕横竖状态
Jan 27 HTML / CSS
用html5的canvas画布绘制贝塞尔曲线完整代码
Aug 14 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
Jan 24 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
html5将图片转换成base64的实例代码
Sep 21 HTML / CSS
HTML5标签大全
Nov 23 HTML / CSS
Canvas制作的下雨动画的示例
Mar 06 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
Apr 19 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
HTML5中外部浏览器唤起微信分享
Jan 02 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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
扩展String功能方法
2006/09/22 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
python控制台英汉汉英电子词典
2020/04/23 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
python字典排序的方法
2019/10/12 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
通过代码实例了解Python sys模块
2020/09/14 Python
护理专业的自荐信
2013/10/22 职场文书
材料员岗位职责
2014/03/13 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
水电维修专业推荐信
2014/09/06 职场文书
假释思想汇报范文
2014/10/11 职场文书
幼儿园见习报告
2014/10/30 职场文书
继续教育个人总结
2015/03/03 职场文书
签订劳动合同通知书
2015/04/16 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
安全主题班会教案
2015/08/12 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python