A pure JavaScript written transformable image component, like PhotoView or ImageViewer, supports gestures like pan, pinch, double tab and fling, works with both iOS and Android.
A pure JavaScript written transformable image component, like PhotoView or ImageViewer, supports gestures like pan, pinch, double tab and fling, works with both iOS and Android.
Written in pure JS, this component should be one of the most easy to use component among all the zoomable, scrollable PhotoView alike views on react-native.
npm install --save react-native-transformable-image@latest
Quite same as the official Image, as below shows:
import Image from 'react-native-transformable-image';
...
render() {
return (
...
<Image
style={{width: width, height: height}}
source={{uri: 'https://raw.githubusercontent.com/yoaicom/resources/master/images/game_of_thrones_1.jpg'}}
//pixels={{width: 3607, height: 2400}}
/>
...
);
}
You can provide enableTransform
, enableScale
and enableTranslate
props to control corresponding features.
onTransformGestureReleased
and onViewTransformed
: inherited from react-native-view-transformer
source={require('...')}
), you should provide the pixels prop, like pixels={{width: 3607, height: 2400}}
(ask your API server to provide the pixels info for remote images). This prop is used to align the edge of the image content with the view’s boundry and to determine the max scale.react-native-transformable-image
disables downsampling to keep more image details when zoomed in. This could cause memory issues if your image is too large.If you are looking for an image gallery component, please refer to react-native-gallery, which is based on this component.