canvas参考手册

场景:画布绘制文本,使用 context.fillText(text,x,y,maxWidth)。文本对其也就是设置xy坐标问题。

以下的画布设定宽度假设都是width:500

一、canvas文本左对齐:
就是x轴设置为0即可。

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var str='这是需要绘制的文本内容'ctx.fillText(str, 0, y)

二、canvas文本居中
①首先文本有个居中属性:ctx.textAlign = ‘center’
②其次设置x轴的位置为画布宽度500的一半即可


var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var str='这是需要绘制的文本内容'ctx.font = 'bold 18px sans-serif';
ctx.textAlign = 'center';//文字水平居中
ctx.fillText(str, (500 / 2), 200) //第一个参数是绘制文本 第二个x设置画布宽度一半 第三个是y坐标

三、canvas文本右对齐
①首先有个计算文本长度的方法 ctx.measureText(‘文字内容’)
②其次设置x轴的位置为画布宽度500 减去 文字长度即可


var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var str='这是需要绘制的文本内容'ctx.font = 'bold 18px sans-serif';
ctx.fillText(str, 500 - ctx.measureText(str).width, 200) //第一个参数是绘制文本 第二个x设置画布宽度减去文字宽度 第三个是y坐标

四、canvas文本自动换行和设置行间距
①首先有个计算文本长度的方法 ctx.measureText(‘文字内容’),将文本分割成几份
②其次是依次渲染不同的文本在不同的坐标轴中

    createdCanvas() {var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");var str = '这是需要绘制的文本内容这是需要绘制的文本内容这是需要绘制的文本内容这是需要绘制的文本内容这是需要绘制的文本内容这是需要绘制的文本内容'ctx.font = 'bold 18px sans-serif';this.drawtext(cxt, str, 10, 10, 400) // 绘制文字并换行},// 文字换行drawtext(ctx, t, x, y, w) {//参数说明//ctx:canvas的 2d 对象,t:绘制的文字,x,y:文字坐标,w:文字最大宽度let chr = t.split("")let temp = ""let row = []for (let a = 0; a < chr.length; a++) {if (ctx.measureText(temp).width < w && ctx.measureText(temp + (chr[a])).width <= w) {temp += chr[a];} else {row.push(temp);temp = chr[a];}}row.push(temp)for (let b = 0; b < row.length; b++) {ctx.fillText(row[b], x, y + (b + 1) * 20); //每行字体y坐标间隔20-就是行间距}}

canvas文字居中;canvas画布文字右对齐;canvas画布文字左对齐;canvas文字自动换行;canvas设置行间距;相关推荐

  1. uilabel 左上对齐_UILabel一行居中对齐与多行左对齐

    想来用过UIAlertView的都知道其中的文字内容是居中对齐(水平方向)的,如果只有一行文字还好,多行文字时如果最后一行撑不满宽度,也会显示居中效果,整体看起来怪怪的. 这其实就是其中的label控 ...

  2. ASP.NET TreeView控件各个节点总是居中对齐,而不是左对齐的问题

    如图所示:之前父节点和子节点都是居中对齐,看起来很层次感,后来查找问题发现原来是CSS样式的问题. table{     table-layout:fixed;     empty-cells:sho ...

  3. 参考文献格式两端对齐吗_参考文献左对齐还是两端对齐-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 用word查找批量设置论文 参 ...

  4. CSS用flex布局两端对齐,列不满左对齐

    布局上要求两端对齐,且最后一行在列不满的情况下要求左对齐,使用flex的justify-content: space-between; 实现时发现最后一行不能左对齐,而是两端对齐方式. # 网上查了一 ...

  5. python格式输出占四列左对齐_python – 打印字符串左对齐,固定宽度和后缀

    您不能更改"".format(),因为它是内置的,但如果可以为方法提供字符串和参数: print(kf.format("{:t{}} {}", key, ':' ...

  6. Android Canvas的drawText()和文字居中方案

    自定义View是绘制文本有三类方法: // 第一类 public void drawText (String text, float x, float y, Paint paint) public v ...

  7. html select 文字居中显示图片,html原生select改造箭头及文字左右居中的一种办法...

    使用过原生select做网页开发的人,一定会对select的两个问题痛心疾首,一是箭头没办法使用css改造,二是显示文字没办法左右居中. 首先,如果你有足够时间的话,请改用jquerymobile.j ...

  8. html div布局位置横,div位置布局 CSS实现DIV居中对齐 div居右对齐 div居左对齐

    使用CSS浮动属性实现DIV各种对齐,比如DIV层左对齐,DIV居中对齐,DIV居右对齐等(DIV靠右 居中 靠左对齐介绍篇) 实现DIV对齐用到关键属性有两个,一个为float一个为margin. ...

  9. 二维码图片文字居中问题

      前两天在为"批量生成二维码压缩并下载功能"做技术选型时,遇到了在不同服务器文字居中效果不一致问题,一直觉得是在不同系统对绘制文字的开始位置有问题引起,今天找到了解决方法,记录一 ...

最新文章

  1. linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息
  2. wtl中显示html,用WTL构建HTML界面应用程序(1)
  3. torch 使用hdf5训练
  4. Python 技术篇-读取文件,将内容保存dict字典中。去掉字符串中的指定字符方法,dict字典的遍历
  5. boost::geometry::detail::overlay::get_ring用法的测试程序
  6. 物理层、数据链路层、介质访问控制子层
  7. java面向对象高级分层实例_BaseDao
  8. 2019.02.09 bzoj4455: [Zjoi2016]小星星(容斥原理+dp)
  9. 矩阵求逆c语言实现_[V-SLAM] Bundle Adjustment 实现
  10. NOI数据结构:主席树
  11. C语言课后习题(51)
  12. 算法笔记(二)——浅析最好、最坏、平均、均摊时间分析方法
  13. CreateProcess()无法启动应用?
  14. 图元变形lisp源码_CAD lisp 实用小程序(源代码)
  15. 【STM32】可变焦、聚焦摄像头驱动电路与驱动程序——两相四线步进电机驱动
  16. 工具推荐——Snipaste
  17. word文档转换为md文档
  18. python 化学反应_有意思的Python:用python配平化学方程式
  19. 论文阅读-MLPD:Multi-Label Pedestrian Detector in Multispectral Domain(海康威视研究院实习项目)
  20. 制作自动添加IE信任站点运行文件

热门文章

  1. 计算机专业所属院校,全国计算机专业强的大学院校盘点
  2. mediawiki 简易的使用教程
  3. 集群qorum数量master-eligible节点掉线解决方法
  4. 华为面试100题:java开发工程师(中)
  5. java +Selenium 2 环境搭建
  6. 解除linux中文件被锁状态,linux – 为什么即使文件被锁定,File :: FcntlLock的l_type总是“F_UNLCK”?...
  7. android TeleComm Telephony Dialer之间的说明
  8. 小小Python爬虫(0)
  9. Cocos Creator皮毛功能之拖动多选扑克麻将
  10. 为什么说CRM对B2B企业很重要?