2017-01-23 112 views
0

我在畫布上應用了旋轉的文字。現在我想橫向移動文本,但它正在交叉移動。對於旋轉我做了如下所示。如何在水平直線上移動畫布上的文字?

canvas.save(); 
canvas.rotate(-45,150,150); 
canvas.drawText("Some Text", xAxis, 55, paint); 
canvas.restore(); 

由於應用於整個畫布上的旋轉,它不是直線移動。現在我想讓這段文字沿水平直線移動。

有什麼辦法嗎?

上述代碼的輸出是這樣的

output of above code

權不,如果我增加它的移動欲行紅色的xAxis值。我想讓它像圖片中的綠線一樣移動。

+0

'translate()'它在rotate()之前' – pskink

+0

@pskink你能告訴我怎麼做嗎?其實沒有得到你 –

+0

看'畫布'文檔有關'translate'和'旋轉'方法 – pskink

回答

0

在您的代碼中,您自己旋轉了整個Canvas。想象一下,將屏幕旋轉45度並水平移動鼠標 - 它將隨着該旋轉而移動。您需要另一種方法來旋轉文本,或者需要根據旋轉角度(點周圍的旋轉點)來計算移動點。

+0

我知道爲什麼文字移動45度。你能建議我解決這個問題嗎? –

+0

創建位圖和畫布(第二個畫布),在第二個畫布上繪製(它將在位圖上繪製),然後'first_canvas.drawBitmap()'。這樣你可以將位圖放在任何你想要的地方。 – Ekalips