2016-05-17 56 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