java - 移动 Canvas 中所有绘制的像素

标签 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) 将其恢复原样(或重置)。

最佳答案

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

关于java - 移动 Canvas 中所有绘制的像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265209/

相关文章:

java - 从 listview 到我的自定义适配器的 setAdapter 编译器错误

java - 在 Activity 之间传递自定义对象?

php - JSON 64位解码来自android的位图以放置在mysql BLOB中

javascript - getImageData() 返回全 0

java - 如何在控制台中打印日历月份?

java - Android 数据绑定(bind)将参数传递给 onClick 方法

java - Java中的简单日期类

android - MPAndroid 条形图仅在点击图表区域后显示图形,否则显示 'No chart data available'

javascript - html5 : canvas. getImageData 无法正常工作 - 为什么?

javascript - 使用 Javascript 基于十六进制颜色计算渐变上的 X、Y 像素位置