gpt4 book ai didi

android - 缩放后触摸点相对于图像的坐标

转载 作者:行者123 更新时间:2023-11-29 21:59:40 24 4
gpt4 key购买 nike

缩放图像后如何计算相对于图像的坐标?要缩放图像,我遵循了 url:https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/example/touch/TouchImageView.java

如果我们在 Zoom 之前的特定点触摸图像,则相应的值为

point:(3,2)
top left corner of image:(0,0)
top left corner of screen:(0,0)
scale factors:(1.25,0.98)

缩放图像后:

如果我们拖动图像直到图像左上角与屏幕左上角重合,然后在同一触摸点(捏合之前)准确触摸图像,则

point:(540,220)
top left corner of image:(0,0)
top left corner of screen:(0,0)
scale factors:(4.78,2.67)

如果我们拖动图像直到图像右上角与屏幕右上角重合,并在同一触摸点(捏合前)触摸图像,则

point:(1080,340)
top left corner of screen:(0,0)
top left corner of image:(-2430,0)
scale factors:(4.78,2.67)

如果我们拖动图像直到图像左下角与屏幕左下角重合,并在同一触摸点(捏合之前)准确触摸图像,则

point:(670,80)
top left corner of screen:(0,0)
top left corner of image:(0,-890)
scale factors:(4.78,2.67)

如果我们拖动图像直到图像右下角与屏幕右下角重合,并在同一触摸点(捏合之前)准确触摸图像,则

point:(456,274)
top left corner of screen:(0,0)
top left corner of image:(-2430,-890)
scale factors:(4.78,2.67)

如果我们将图像设置在屏幕上[不设置任何角落]

point:(743,146)
top left corner of screen:(0,0)
top left corner of image:(-1280,-423)
scale factors:(4.78,2.67)

在上述所有场景中,我都在触摸事件中获取坐标

x_cord=event.getX();
y_cord=event.getY();

我得到的触摸点是相对于屏幕的。

如何根据图片计算触摸点?

感谢和问候迷你。

最佳答案

我们可以根据图片大小通过计算相对点来计算

float[] values = new float[9];
matrix.getValues(values);
x_coord = ((e.getX() - values[2])*scaleX )/values[0];
y_coord= ((e.gety() - values[5])*scaleY )/ values[4];

关于android - 缩放后触摸点相对于图像的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com