android 坐标 获取展示图片_android – 如何在图像控件中获取位图图像的x和y坐标?...

本文介绍如何在Android中处理ImageView的位图坐标,特别是在进行缩放和平移操作时。通过使用Matrix类获取ImageView的边界,并通过转换矩阵解决屏幕坐标与位图坐标的同步问题。在用户拖动或缩放图像时,提供了计算新坐标的代码示例,以确保着色正确地应用到显示的图像上。
摘要由CSDN通过智能技术生成

ImageView使用Matrix类进行缩放(缩放)和平移(平移).如果您可以获取矩阵,则可以检索缩放/平移视图的(左,上)坐标.

可缩放代码和可以在stackoverflow posts之一中使用pannable extended imageview

在该帖子中,您将看到扩展的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值