绘制文本

  • ctx.font = ‘微软雅黑’ 设置字体
  • strokeText()
  • fillText(text,x,y,maxWidth)
    • text 要绘制的文本
    • x,y 文本绘制的坐标(文本左下角)
    • maxWidth 设置文本最大宽度,可选参数
  • ctx.textAlign文本水平对齐方式,相对绘制坐标来说的
    • left
    • center
    • right
    • start 默认
    • end
  • ctx.direction属性css(rtl ltr) start和end于此相关
    • 如果是ltr,start和left表现一致
    • 如果是rtl,start和right表现一致
  • ctx.textBaseline 设置基线(垂直对齐方式 )
    • top 文本的基线处于文本的正上方,并且有一段距离
    • middle 文本的基线处于文本的正中间
    • bottom 文本的基线处于文本的证下方,并且有一段距离
    • hanging 文本的基线处于文本的正上方,并且和文本粘合
    • alphabetic 默认值,基线处于文本的下方,并且穿过文字
    • ideographic 和bottom相似,但是不一样
  • measureText() 获取文本宽度obj.width

//绘制一段文字

var ctx = document.querySelector("canvas").getContext("2d");var w = ctx.canvas.width;var h = ctx.canvas.height;//文字var txt = "好冷好冷";//绘制水平垂直线ctx.beginPath();ctx.moveTo(0, h / 2 - 0.5);ctx.lineTo(w, h / 2 - 0.5);ctx.moveTo(w /2 , 0);ctx.lineTo(w /2, h );ctx.strokeStyle = "#eee";ctx.stroke();//绘制文本ctx.beginPath();ctx.font = "40px Microsoft YaHei";//水平对齐方式ctx.textAlign = "center";//垂直对齐方式ctx.textBaseline = "middle";ctx.fillText(txt, w / 2, h / 2);//画下划线和文字一样长ctx.beginPath();var width = ctx.measureText(txt).width;ctx.moveTo(w / 2 - width / 2, h / 2 + 20);ctx.lineTo(w / 2 + width / 2, h / 2 + 20);ctx.strokeStyle = "#000";ctx.stroke();

效果图

canvas画布写文字:fillText()相关推荐

  1. js将文字填充与canvas画布再转为图片

    需求:封装consul服务的webUI: 原因:展示consul的服务信息时,需要嵌套动画,由于其没有内置的icon,所以将服务name放于图片位: 分析:展示信息时采用了卡片式的服务布局,缩放式的服 ...

  2. uniapp canvas 图片加上文字合成一张新图并保存到手机相册

    uniapp canvas 图片加上文字合成一张新图并保存到手机相册 背景图上是奖章徽章,中间加上自定义文本,我这个图是因为背景图上原来就有字,随便找的,所以跟我写的文字层叠了 具体实现代码 < ...

  3. VUE+Canvas实现输入文字生成对应的字体图片小功能

    你是不是经常浏览字体网站的时候,发现他们的"字体生成器"和预览功能很好奇,为什么输入框输入文字之后,点击预览,下面都会修改对应的字体内容,以便达到了没有安装字体也可以预览这个字体效 ...

  4. 2D/3D视图变换、canvas画布

    1,2D图形变换 图形变换主要通过transform css属性来达到图形的旋转.平移.和缩放 旋转 旋转中心(基准点)为中心点,deg是角度制单位 transform: rotate(45deg); ...

  5. canvas制作动态文字颗粒动画

    久违的想玩下,且回顾下canva颗粒动画制作,在codepen中找了个小案例,看了下源码,学习下,觉得很不错,拿出来给大家分享下: 一.最终预览效果: 二.核心代码逻辑 1. 初始化canvas画布大 ...

  6. 通过Canvas画布制作黑客帝国背景

    通过Canvas画布制作黑客帝国背景 电影介绍 先推荐一下这部电影 <黑客帝国>是由华纳兄弟公司发行的系列动作片,该片由沃卓斯基兄弟执导,基努·里维斯.凯莉·安妮·莫斯.劳伦斯·菲什伯恩等 ...

  7. 微信小程序之canvas画布

    一.前言 只要干不死,就要往死干!!! 本次带来的是关于微信小程序之画布的相关功能,具体详见代码↓ 二.图例 功能点:颜色选择.直线.矩形.圆形.画笔.输入框.线条宽度.还有特定图标.橡皮擦 .撤销. ...

  8. LV2之-----canvas 画布实现 自转时钟 大转盘

    canvas 画布运用实例:1.系统时钟 <!DOCTYPE html> <html lang="en"><head><meta char ...

  9. 三个绘图工具类详解Paint(画笔)Canvas(画布)Path(路径)

    1)Paint(画笔): 就是画笔,用于设置绘制风格,如:线宽(笔触粗细),颜色,透明度和填充风格等 直接使用无参构造方法 就可以创建Paint实例: Paint paint = new Paint( ...

最新文章

  1. 惠普的服务器改win7系统,惠普(HP)笔记本预装Win8改Win7系统BIOS设置教程
  2. 计算机视觉招聘_INDEMIND|SLAM、计算机视觉、深度学习算法招聘(社招实习)
  3. MySQL高级理论-MVCC提交查询相关(版本链)
  4. 好看的php表格样式,CSS_CSS实现的清爽、漂亮的表格样式分享,效果: 实现代码:复制代码 - phpStudy...
  5. NUMA与英特尔下一代Xeon处理器学习心得(10)
  6. 全新开始fighting
  7. Java中文乱码详解
  8. Springboot中自动转JSON输出
  9. Android apk打包命名规则
  10. 黑盒测试的原理及内容
  11. 故障分析 | Cassandra 用户信息 list Error
  12. JUC第六讲:ThreadLocal/InheritableThreadLocal详解/TTL-MDC日志上下文实践
  13. 电脑BlOS设置修改
  14. mor命令_MOR游戏的情况。
  15. 获取网页链接,比正则表达式更灵活更大众化.
  16. 益普生携手海王星辰,布局大健康领域
  17. Qt报错处理 程序异常结束 The process was ended forcefully.
  18. 我的blog已经放在MSN空间上面了.
  19. 为什么CDMA需要对整个网络同步
  20. Lecture 18

热门文章

  1. 硬件 RAID 与软件 RAID 之间的区别
  2. MSP430 单片机 HX711重量传感器接线 程序读取
  3. cad无法启动计算机丢失,Win7系统开启Cad软件失败提示丢失ac1st16.dll怎么解决
  4. 2020 年 “联想杯”全国高校程序设计在线邀请赛H. Hay Mower
  5. python自动扫雷_python实战教程之自动扫雷
  6. 数据可视化——Matplotlib(1)
  7. java图形界面猜字游戏,JAVA猜字游戏
  8. Vasya and Good Sequences (Codeforces Round #512) 后缀和
  9. python购买股票_动态规划python实现-买股票的最佳时机
  10. 7-4 求解买股票问题 (22 分)