javascript - 在 Canvas 上打印倾斜文本而不旋转整个 Canvas

标签 javascript html canvas

如何以一定 Angular 填充文本,而无需在整个 Canvas 上使用旋转()函数。类似的东西

ctx.fillText("Hi", x, y, AngleRadian); 

最佳答案

只需使用保存和恢复即可确保整个 Canvas 不会受到您的操作的影响。

假设您想从文本中间旋转,则必须确保文本右对齐,正如 @markE 提到的最简单的处理方法:

jsfiddle.net/m1erickson/c6kKn

function fillTextRotated(text, x, y, angle) {
   ctx.save();
   ctx.translate(x, y);
   ctx.rotate(angle);
   ctx.textAlign = "center";
   ctx.fillText(text, 0, 0);
   ctx.restore();
}

fillTextRotated("Hi everyone here", 50, 150, Math.PI/6); 

输出看起来像:

enter image description here

关于javascript - 在 Canvas 上打印倾斜文本而不旋转整个 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24186444/

相关文章:

javascript - 使用鼠标时 jquery 上的 onPaste 事件不会更新

javascript - 如果使用 Canvas 找不到图像,则显示名称头像(回退)

javascript - 如何在fabric js中保留图像的位置

html - css3 transition 转换图像

javascript - 应用程序以垂直模式打开,而不是水平模式

java - 后端返回html但前端不重定向

javascript - html5 - 绘制多个圆圈 - 每个圆圈填充不同的图像

javascript - 如何将 Prop 从 mobx-observable 传递到 mobx-react observable?

javascript - JS : Caching data in variables

javascript - 如何计算出根据拖动距离旋转轮子的度数?