【问题标题】:HTML5 text rotationHTML5 文本旋转
【发布时间】:2012-06-13 17:28:51
【问题描述】:

我想旋转图形 x 轴的文本。下面是我正在使用的代码

context.rotate(20*Math.PI/2);
context.fillText(name, startX + (i * barWidth) + i, chartHeight + 10, 200); 
context.rotate(-20*Math.PI/2);

写完文字后,我将它旋转回原来的位置。但不知何故,它不起作用。工作代码可以在http://intercepter.comli.com/example3.html找到

我已经通过this article 并尝试过,但它只是不工作。请帮帮我

【问题讨论】:

标签: javascript html rotation html5-canvas


【解决方案1】:

旋转20*Math.PI/2 类似于不旋转任何东西,因为:

20*Math.PI/2 = 10*Math.PI = 2*Math.PI

不知道你想如何旋转你的文字,而不是

context.rotate(20*Math.PI/2);
context.fillText(name, startX + (i * barWidth) + i, chartHeight + 10, 200); 
context.rotate(-20*Math.PI/2);

您可以尝试像这样使用transformations

context.save();
context.setTransform(1,0,0,1,0,0);
context.translate(startX + (i * barWidth) + barWidth/2, chartHeight - 10); 
context.rotate(-Math.PI/2);

context.fillText(name, 0, 0, 200);        
context.restore();

查看工作中的DEMO

【讨论】:

  • 天啊......对不起......我打算使用 context.rotate(20*Math.PI/180);但不知何故更改为 /2 :( ...在这里更新了代码intercepter.comli.com/example3.html ...顺便说一句 setTransform 似乎并不重要!!
  • @antnewbee 是的,setTransform 在这里并不重要,但是当您开始转换时重置转换矩阵是一种很好的做法。在其他情况下,可能很难跟踪所有转换。
猜你喜欢
  • 2011-03-11
  • 2014-09-30
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
  • 2019-05-29
  • 1970-01-01
相关资源
最近更新 更多