Android imageview矩阵运算

发布于 2024-10-13 12:26:51 字数 420 浏览 1 评论 0原文


我使用 imageview 来显示图像。
我将比例类型设置为 ScaleType.MATRIX
缩放缩放)、拖动等选项。所有这些都是通过矩阵操作来完成的,主要是 postTranslatepostScale
我现在的问题是可以拖动它以使图像不在屏幕中
那么我们如何获得它被拖动的程度。
简述
我有两个矩阵(android.graphics.Matrix),一个是初始阶段,另一个是拖动和缩放后得到的。现在我想从这两个矩阵计算它在x方向和y方向移动了多少?
我需要在这里执行什么矩阵运算。
谢谢

Me used imageview to display image.
I set the scale type as ScaleType.MATRIX
There is option for scaling (zooming), dragging and all. All this are done by doing matrix manipulations mainly postTranslate and postScale
My problem now it can be drag such that the image is not in the screen
So how we get how much it is dragged.
In brief
I have two matrix (android.graphics.Matrix) one the initial stage and the other that i got after drag and zoom. Now from this 2 matrices i want to calculate how much it moved in x-direction and y-direction?
What matrix operation i need to do here.
Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓦然回首 2024-10-20 12:26:51

您可以使用 getValues 函数获取矩阵值的浮点数组。矩阵的第二个 (Matrix.MTRANS_X) 和第五个 (Matrix.MTRANS_Y) 值是 x 和 y 方向上的转换。

http://developer.android.com/reference/android/graphics/Matrix.html

You can get float array of matrix's values using getValues function. The 2nd (Matrix.MTRANS_X) and 5th (Matrix.MTRANS_Y) values of matrix are transitions in x and y directions.

http://developer.android.com/reference/android/graphics/Matrix.html

孤独患者 2024-10-20 12:26:51

您需要应用矩阵来获取转换后的坐标。 Matrix 类有一些方法可以为您提供转换后的坐标。

查看

  • mapPoints
  • mapVectors
  • mapRect

一旦你有了点(原始点和转换后的点),你就可以使用欧几里得距离轻松计算距离

You need to apply the matrix to get the transformed coordiantes. Matrix class has a few methods that will give you tranformed coordinates.

Look at

  • mapPoints
  • mapVectors
  • mapRect

Once you have the points (original and the transformed) you can easily calculate the distance using euclidean distance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文