2012-06-10 125 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