将所有绘制的像素移动 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 是函数的文档(滚动到页面的最底部)。希望对您有所帮助!
在 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 是函数的文档(滚动到页面的最底部)。希望对您有所帮助!