java – Android – 在Zoomable图像视图顶部调整图像视图位置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android – 在Zoomable图像视图顶部调整图像视图位置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1072字,纯文字阅读大概需要2分钟。
内容图文
![java – Android – 在Zoomable图像视图顶部调整图像视图位置](/upload/InfoBanner/zyjiaocheng/772/2e931c2dadaa45c38f5fbae50cbfb0a6.jpg)
我正在研究图像,制作一个允许用户在图像上放置标签的功能(如Facebook照片标签).我有一个可缩放的ImageView(使用Mike Ortiz’s TouchImageView)作为背景图像,一些ImageViews作为图像标签.
每个标签都有X和Y位置,在正确位置显示背景图像和图像标签没有问题.但是,当用户触发捏缩放时,背景图像的位置会发生变化.这意味着,每个图像标签的位置也必须根据当前背景图像的缩放级别和滚动位置进行更改/更新.
我目前正在使用这种方法:
float currentZoom = mImageView.getCurrentZoom();
float zoomedX = x / currentZoom;
float zoomedY = y / currentZoom;
但是当我尝试时,它完全错了.谁能帮我找到正确的方法/方程式?
编辑:
我尝试使用Matrix.mapPoints(),但我不明白这个矩阵如何帮助我解决我的问题.这是一张图片,可以更好地解释:
解决方法:
我终于得到了答案(感谢pskink)!要获得图像上的确切标记位置,我们所要做的就是使用Matrix.mapPoints().但仅此一点就不会给新的X&缩放后的Y位置.我们必须乘以目前的X& Y位置使用当前缩放级别获得“后缩放位置”.
换一种说法:
Matrix matrix = mImageView.getImageMatrix();
float[] pts = {0, 0};
matrix.mapPoints(pts);
float newTagX = (tagX * currentZoom) + pts[0];
float newTagY = (tagY * currentZoom) + pts[1];
内容总结
以上是互联网集市为您收集整理的java – Android – 在Zoomable图像视图顶部调整图像视图位置全部内容,希望文章能够帮你解决java – Android – 在Zoomable图像视图顶部调整图像视图位置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。