2016-05-17 2 views
1

私がCanvasに必要なすべてを描画したら、それをすべて移動する方法はありますか?それを10ピクセル下に移動するのと同じように?私はfunctionsGoogleを検索しますが、面白いことは何も見ませんでした。キャンバスに描かれているすべてのピクセルを移動する

多くのことが描かれているので、すべてのアプリを再調整するのはちょっと難しいです。これを行うための任意のアイデア?私はAndroidで働いていますが、重要ではないと思います。

多分、私はピクセルを取得し、それらを1ずつコピーすることができますが、それは非常に遅いと感じます。

ありがとうございました。


EDIT:同じ質問を持っている人のために。 translate()を使用したい場合は、これがどのように動作するかです。 translate(x, y)を設定すると、何かを描くと自動的に(x & y)の値にシフトされます。例えば

:行が[25、30]に[5,10]から印刷されます

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

:あなたは次のことを実行している場合:その後、

canvas.translate(5, 10); 

と線を引きます。あなたが描くものはすべて自動的に動かされ、[5、10]は[0、0]になります。 canvas.translate(-5, -10)でも、元に戻す(またはリセットする)ことができます。

答えて

2

私はあなたの質問が正しい場合は、canvas.translate()機能を使用することができます。キャンバスのonDraw()メソッドでこれを実行できます。 Hereは、この機能のドキュメントです(ページの一番下までスクロールします)。それが役に立てば幸い!

+0

動作の仕方はわかりましたが、それはしました。どうもありがとうございます! – UDKOX

+0

あなたは大歓迎です!私は助けてうれしい! – AkashBhave