这里fillText直接使用rotate会有问题。估计是旋转中心有问题。

正确的逻辑为:

先使用translate移动中心点在文本起始位置,如何在0,0处fillText即可。

如果要在字符串中心进行旋转,则需要获取字符串长度,translate的时候x进行+,y轴进行-即可。

程序运行截图如下:

绿色的为原始字符串,红色是从顶部进行旋转,绿色为在中心进行旋转。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">当前浏览器不支持canvas
</canvas><script>window.onload = function(){let canvas = document.getElementById("canvas");canvas.width = 1980;canvas.height = 1024;let context = canvas.getContext("2d");context.fillStyle = "green";context.fillText("中文ABCDEFG", 400, 400);context.save();context.translate(400, 400);context.rotate(90 * Math.PI / 180);context.fillStyle = "red";context.fillText("中文ABCDEFG", 0, 0);context.restore();//中心位置旋转let strWidth = context.measureText("中文ABCDEFG").width;console.log("strWidth:" + strWidth);context.save();context.translate(400 + strWidth / 2, 400 - strWidth / 2);context.rotate(90 * Math.PI / 180);context.fillStyle = "blue";context.fillText("中文ABCDEFG", 0, 0);context.restore();}</script></body>
</html>

canvas笔记-文本(fillText)旋转(rotate)相关推荐

  1. canvas笔记-文本水平垂直对齐与度量

    在canvas中通过textAlign可以设置文本的对齐: 其中left为左对齐,center为居中对齐,right为右对齐. 程序运行截图如下: 源码如下: <!DOCTYPE html> ...

  2. 【绘制】HTML5 Canvas坐标变换——坐标系的平移(translate)、缩放(scale)、旋转(rotate)、镜像。(图文、代码)

    我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...

  3. html5文本设置字体大小,HTML5 Canvas的文本设置字体和大小

    网页制作文章简介:HTML5 Canvas的文本设置字体和大小. HTML5 Canvas的文本设置字体和大小,我们可以使用的字体在画布范围内的属性. 下面我们就做一个简单的实例为大家讲解下,基本语法 ...

  4. canvas绘制文本文本的

    在canvas中绘制文本 ​ canvas 提供了两种方法来渲染文本: ​ fillText(text, x, y) ​ 在指定的(x,y)位置填充指定的文本 <!DOCTYPE html> ...

  5. 9月1日目标检测学习笔记——文本检测

    文章目录 前言 一.类型 1.Top-Down 2.Bottom-up 二.基于深度学习的文本检测模型 1.CTPN 2.RRPN 3.FTSN 4.DMPNet 5.EAST 6.SegLink 7 ...

  6. html5 canvas画文本框,HTML5 canvas绘制文本

    HTML5的canvas也提供渲染文本的方法. (1)绘制文本方法:fillText和strokeText fillText(text,x,y[,maxWidth]) 在指定的(x,y)位置填充指定的 ...

  7. CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)

    在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形处理,本文将对此做详细介绍. 一.旋转 rotate 用法:transform: rotate(45 ...

  8. 2D转换之旋转rotate(CSS3)

    2D转换之旋转rotate(CSS3) <!DOCTYPE html> <html lang="en"><head><meta chars ...

  9. Task02:学习笔记文本预处理;语言模型;循环神经网络基础

    Task02:学习笔记文本预处理:语言模型:循环神经网络基础 文本预处理 文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤: 读入文本 ...

最新文章

  1. kafka消息消费有延迟_消息中间件选型分析---从Kafka与RabbitMQ的对比来看全局
  2. ImageLoader设置圆形图片
  3. Spring:使基于Java的配置更加优雅
  4. 论文浅尝 | SenticNet 5: 借助上下文嵌入信息为情感分析发现概念级别的原语
  5. mysql 按日期拆分成多条记录_mysql性能优化2 设计规范 设计原则 结构优化 拆分 配置优化...
  6. linux vim 到底,真的有(很多)linux大牛用vim写项目吗?
  7. java 搜索引擎 关键词高亮_和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮(示例代码)...
  8. kafka----zookepeer
  9. linux编程进程,Linux编程—进程
  10. mysql 简单游标
  11. ACM 学习笔记(三) 数学入门
  12. xerces 64位 linux安装,linux安装xml开发包xerces-c
  13. Python刷博客简易版
  14. QT信号槽的压力问题
  15. 小程序 canvas画图片
  16. QQ加群组件-iPhone、Android、网页上加入QQ群
  17. 多帧点云数据拼接合并_基于单帧图像与稀疏点云融合的道路交通标线提取算法研究...
  18. Postgresql中的large object
  19. 刘强东不学编程,今天很可能没有京东......一位码农的发家致富史
  20. Latex学习笔记(二)各标题的大小设置

热门文章

  1. 关于验证码的DEMO
  2. Binary String Matching
  3. MySQL数据库如何做好优化
  4. Android开发真机测试方法 (转)
  5. 用VB构键Internet的应用
  6. CCNA学习与实验指南(640-802)
  7. synchronized简介
  8. 怎样做高质量的财务分析?
  9. 著名模拟鼠标点击软件小点点被收购
  10. 但是只要是女生的bibohuaianguandan