将所有绘制的像素移动 Canvas

Move all drawn pixels in Canvas

Canvas 中绘制完我需要的所有内容后,有没有办法将其全部移动?喜欢将它全部向下移动 10 个像素?我搜索了 functions and Google,但没有发现任何有趣的内容。

绘制了很多东西,因此很难重新校准所有应用程序。有什么想法吗?我在 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) 将其恢复原样(或重置)。

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