有什么方法可以获取画布转换矩阵或至少转换值吗?

时间:2019-06-24 16:25:43

标签: android matrix canvas

我正在另一视图的画布上绘画,但是正在翻译。如果不推荐使用该方法,该如何计算或获取画布翻译?

我正在用手指在屏幕上绘画,但使用的是另一视图的画布。渲染图形时,它会转换许多像素,这些像素取决于屏幕尺寸,而我猜是DPI。我发现,如果我使用正确的缩放比例和特定于设备的转换“重新创建”矩阵,那么一切都会按预期进行,但是我找不到用公式/以编程方式确定值的方法。

当我调试时,我使用canvas.getMatrix()并得到正在发生的翻译,这是我需要的翻译。当我将这些值插入重新创建的矩阵中时,一切都按我的需要工作。但是不推荐使用canvas.getMatrix()方法,因此我需要找到另一种确定方法。

我已经尝试过根据设备和画布的宽度和高度来计算它,按比例,从另一个减去另一个,等等。但是这仅在某些方向上的某些设备上有效。

此外,此方法随设备的方向而变化,因此我需要找到一种针对不同方向的方法。

有人能指导我吗?或者关于我如何在不同的屏幕尺寸和方向上处理此转换矩阵的任何建议?

谢谢。

0 个答案:

没有答案