2012-06-10 64 views
2

我想旋转的图形的x轴的文字。下面是我使用HTML5文本旋转

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并尝试过,但它只是不工作。请帮我出

+0

[在HTML5画布上绘制旋转文字]的可能重复(http://stackoverflow.com/questions/3167928/drawing-rotated-text-on-a-html5-canvas) – robertc

+0

嗨罗伯特..我已经读过这篇文章,并写下了这个问题。但它仍然不起作用。 – antnewbee

回答

2

通过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(); 

硒e工作DEMO

+0

哦上帝....抱歉...我打算使用context.rotate(20 * Math.PI/180);但不知何故,改为/ 2 :(...这里更新的代码http://intercepter.comli.com/example3.html ... BTW的setTransform似乎并不重要! – antnewbee

+0

@antnewbee是,'setTransform'这里是不是那么重要,但当您开始转换时,重置转换矩阵是一种很好的做法。在其他情况下,可能很难跟踪所有转换。 – Engineer