我在图像视图控件中有图像。由于图像的x和y坐标连续变化,用户可以对该图像执行平移和缩放。有没有什么方法可以找出图像内部图像控制的当前设置的x和y坐标?任何有关它的代码都会更有益。如何获取图像控件中位图图像的x和y坐标?
5
A
回答
11
ImageView使用Matrix类来进行缩放(缩放)和平移(平移)。如果您可以获得矩阵,那么您可以检索放大/平移视图的(左侧,顶部)坐标。
代码的可缩放的&可平移延伸的ImageView是在计算器的一个posts
在该职位可你会看到扩展的ImageView类有矩阵用于缩放/平移一个成员变量。
您可以使用以下代码从矩阵中获取缩放/平移的ImagevIew(实际上是位图)的界限。
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
新添加的答案
要了解下面的代码,你需要去通过这个link和理解。
翻译
当用户拖曳图像时,屏幕坐标(绝对)和位图的坐标不同步。 [您写入位图的任何内容都通过画布显示(在onDraw())]如果应用着色,用户会看到它在位图图像上的不同区域上应用。要纠正这个问题,你需要做翻译。该翻译会将用户输入坐标(屏幕坐标)更改为位图坐标(如用户所期望的) 以下代码段将帮助您进行翻译。
让用户输入坐标为(X,Y)的话,
RectF r = new RectF();
matrix.mapRect(r);
Log.i(TAG, "Rect " + r.left + " " + r.top + " " + r.right + " " + r.bottom + " " + mOverAllScale + " ");
float newX = x - r.left;
float newY = y - r.top;
你代替(X,Y)采用新的坐标。
缩放(缩放)
当用户捏输入/输出;位图会缩小/放大。您必须注意原始位图不会更改,缩放只能从显示角度进行。 这又导致屏幕和位图之间的同步丢失。屏幕上的着色应该反映在显示的图像中。 以下代码片段可以帮助您进行缩放。
// mScalingFactor shall contain the scale/zoom factor
float scaledX = (event.getX() - r.left);
float scaledY = (event.getY() - r.top);
scaledX /= mScalingFactor;
scaledY /= mScalingFactor;
词shash
相关问题
- 1. 获取X Y坐标w.r.t图像
- 2. 如何从图像输入中获取x和y坐标?
- 3. 如何在Android中获取(x,y)图像的坐标?
- 4. 如何在画布中获取图像的x和y坐标控制
- 5. 提取X,Y从图像坐标
- 6. 如何获取显示图像的(x,y)坐标?
- 7. 从图像中获取x和y坐标
- 8. 获取缩放图像像素的X,Y坐标 - KineticJs/HTML5 Canvas图像
- 9. 获取X和Y坐标视图
- 10. 如何在android中的imageview中获取图像的x和y坐标?
- 11. 如何从图像中获取像素的x,y坐标颜色?
- 12. 获取旋转图像中点的新x,y坐标
- 13. 使用X,Y坐标与位图图像
- 14. 获得缩放图像后图像作物的x和y坐标
- 15. 从x,y坐标写入图像
- 16. 如何在android onCreate上获取图像的x和y位置?
- 17. Android:获取视图的x,y坐标
- 18. 获取图像占位符的坐标
- 19. 图像比较,无法抓住像素的x和y坐标
- 20. 从鼠标的缓冲图像中获取像素RGB X和Y的位置
- 21. 爪哇SWT:获取原始x/y坐标从缩放图像
- 22. 如何在UIWebView中查找图像的中心/ x,y坐标
- 23. 从位图图像中将字节数组读入坐标X和Y?
- 24. 移动图像,Y坐标
- 25. 极坐标位图图像
- 26. 在Libgdx中,如何获取图像旋转时的x,y坐标?
- 27. 在图像[OpenCV/Python]中查找[x,y]旋转坐标位置
- 28. 如何获取图像的坐标/ JLabel?
- 29. 我如何获得JScrollPane中图像的X和Y位置
- 30. 如何绘制HTML中图像上项目的x,y坐标
检查出来此链接可能会有所帮助..... http://stackoverflow.com/questions/2447564/detect-touch-on-bitmap – Uttam