我有一个带有单个Image的scrollView。最初,Image具有与ScrollView相同的宽度和高度。
我试图裁剪基于用户如何已经缩放和移动图像此图像。基本上,我想知道是什么图像的一部分是可见的,这样我就可以相应地裁剪。
我正在使用expo的ImageManipulator对其进行裁剪,因此我已经覆盖了那部分。但要获得图像中的哪个部分的尺寸是经过放大/阻力是什么缠着我可见。
非常感谢!
答案 0 :(得分:0)
这里的逻辑是先在Image
的大小内填充ScrollView
组件。这样,图像的大小将等于ScrollView
的大小。
首先,您需要将directionalLockEnabled
属性设置为false
,将horizontal
属性设置为true
,以使ScrollView
水平滚动。
然后,设置maximumZoomScale
和minimumZoomScale
道具,使您的ScrollView
可缩放。现在,每次放大和滚动ScrollView
时,它都会使用onMomentumScrollEnd
参数触发onScrollEndDrag
和event
,从中可以获取{{1 }},通常是
ScrollView
event.nativeEvent.contentOffset
event.nativeEvent.contentSize
由于event.nativeEvent.layoutMeasurement
组件的大小与Image
组件的大小相同,因此它将为您提供ScrollView
中图像的确切可见区域。
有关详细的实现示例,您可以参考this file存储库中的react-native-community/react-native-image-editor