2016-05-17 48 views
1

一旦我在Canvas中繪製了所有需要的圖像,是否有辦法將其全部移動?像將它全部向下移動10個像素?我搜索functionsGoogle,但我沒有看到任何有趣的內容。在畫布中移動所有繪製的像素

很多東西都是這樣繪製的,所以重新校準所有的應用程序有點難。任何想法做到這一點?我在Android上工作,但我不認爲這很重要。

也許我可以得到的像素和1複製1,但我覺得它會這麼慢。

謝謝。


編輯:對於那些誰擁有了同樣的問題。如果你想使用translate()這是它的工作原理。如果您設置了translate(x, y),那麼當您繪製某些東西時,它將自動被這些(x & y)值所吸引。

例如:如果執行以下操作:

canvas.translate(5, 10); 

然後畫一條線:

canvas.drawLine(0, 0, 20, 20). 

該生產線將來自[5,10]被打印到[25,30] 。所以你繪製的所有東西都會自動移動,[5,10]變成[0,0]。您也可以將canvas.translate(-5, -10)重新放回原位(或重置它)。

回答

2

如果我的問題是正確的,可以使用canvas.translate()函數。您可以在您的Canvas的onDraw()方法中執行此操作。 Here是該功能的文檔(滾動到頁面的最底部)。希望能幫助到你!

+0

我花了一段時間才弄清楚它是如何工作的,但它確實如此。非常感謝! – UDKOX

+0

非常歡迎您!很高興我幫了忙! – AkashBhave