panpf / zoomimage

ZoomImage is an gesture zoom viewing of images library specially designed for Compose Multiplatform and Android View. Supported scale, pan, locate, rotation, and super-large image subsampling.
Apache License 2.0
340 stars 19 forks source link

移动限制解除 #45

Closed Liter233 closed 3 weeks ago

Liter233 commented 1 month ago

图像的移动限制能否解除?比如将影像的左下角移动到屏幕中央 同样的情况还有locate定位边缘位置的点时,无法移动到屏幕中央

panpf commented 1 month ago

目前无法解除。

我想知道此需求的详细背景,这样我才能考虑是否添加此功能,或者有没有现成的功能可以间接实现。

另外没有限制的话一个快速的拖动图片就看不到了,你也很难来回拖动找到它,总归还是要有限制的,可能是可以超出一个屏幕的大小?

Liter233 commented 1 month ago

目前无法解除。

我想知道此需求的详细背景,这样我才能考虑是否添加此功能,或者有没有现成的功能可以间接实现。

另外没有限制的话一个快速的拖动图片就看不到了,你也很难来回拖动找到它,总归还是要有限制的,可能是可以超出一个屏幕的大小?

[

https://github.com/user-attachments/assets/36ab530f-024e-4ee4-8801-252373edf898

](url)

在https://github.com/davemorrissey/subsampling-scale-image-view 中可以使用setPanLimit(SubsamplingScaleImageView.PAN_LIMIT_CENTER)来使得图像随意拖动,我想要达成类似的效果,移动限制的话我认为图片边缘与屏幕对齐应该可以

panpf commented 1 month ago

我理解你的意思,但是我想知道什么样的需求或使用场景会需要这个功能

Liter233 commented 1 month ago

我理解你的意思,但是我想知道什么样的需求或使用场景会需要这个功能

1.固定屏幕中心获得图像的像素坐标来用于定位,但是在加载大场景图时,由于移动限制,当想要获取靠近边缘的点必须先放大到一定程度才能移动至中心,尽管可以通过locate功能近似实现,但是还是希望能够直接通过手势来完成,这样的操作更符合直觉,在查找靠近边缘的点时更快速;

2.显示图像内容相似区域时,如果该区域位于该图像边缘位置,此时如果想要在屏幕中心显示需要将图像放得很大,会导致无法判断图像区域的具体位置;

panpf commented 1 month ago

你说的太绕了,我没看懂,特别是第二条,我希望你从产品经理给你提需求的角度描述需求

Liter233 commented 1 month ago

你说的太绕了,我没看懂,特别是第二条,我希望你从产品经理给你提需求的角度描述需求 抱歉,我重新整理下:

需求概况是:从影像上选某一特征点->查找并显示其他具有此特征点的图像; 选取特征点时为了控制精度,需要将特征点移动到屏幕中心并获得像点坐标,直接用手指选取往往点不准; 在显示其他具有特征点的影像时,如果特征非常靠近边缘,将包含特征点的区域移动到屏幕中心显示时,缩放倍数需要很大,这时就无法观察特征点的周边区域;

我这样说明能否理解?

panpf commented 1 month ago

大概明白你的意思了,概括一下就是需要标记图像上的点,并在选取点时将其移动到屏幕中央。

下个版本考虑添加这个功能,预计在两周后发布下一个版本。

panpf commented 3 weeks ago

v1.1.0-rc01 版本已增加此功能。具体使用方法请查看文档:https://github.com/panpf/zoomimage/blob/main/docs/wiki/offset_zh.md#%E5%AE%B9%E5%99%A8%E7%A9%BA%E7%99%BD%E5%8C%BA%E5%9F%9F