在Canvas中移动所有绘制的像素

时间:2016-05-17 00:24:32

标签: java android canvas drawing

一旦我在Canvas中绘制了所有我需要的东西,有没有办法将它全部移动?喜欢将它全部移动10个像素?我搜索functionsGoogle,但我没有看到任何有趣的内容。

有很多东西被绘制,所以重新校准所有应用程序有点难。有什么想法吗?我在Android工作,但我认为这不重要。

也许我可以获得像素并逐个复制它们,但我觉得它会很慢。

感谢。

编辑:对于那些有相同问题的人。如果您想使用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)将其恢复原状(或重置它)。

1 个答案:

答案 0 :(得分:3)

如果我的问题正确,您可以使用canvas.translate()功能。您可以在Canvas的onDraw()方法中执行此操作。 Here是函数的文档(滚动到页面的最底部)。希望它有所帮助!