-
Notifications
You must be signed in to change notification settings - Fork 128
Description
import {StyleSheet, Text} from 'react-native';
import React from 'react';
import {Colors, TouchableOpacity} from 'react-native/Libraries/NewAppScreen';
import CustomCrop from 'react-native-perspective-image-cropper';
export default class App extends React.Component {
componentDidMount() {
const image = 'base64ImageString';
this.Image.getSize(image, (width, height) => {
this.setState({
imageWidth: width,
imageHeight: height,
initialImage: image,
rectangleCoordinates: {
topLeft: {x: 10, y: 10},
topRight: {x: 10, y: 10},
bottomRight: {x: 10, y: 10},
bottomLeft: {x: 10, y: 10},
},
});
});
}
updateImage(image, newCoordinates) {
this.setState({
image,
rectangleCoordinates: newCoordinates,
});
}
crop() {
this.customCrop.crop();
}
render() {
return (
<React.Fragment>
<CustomCrop
updateImage={this.updateImage.bind(this)}
rectangleCoordinates={this.state.rectangleCoordinates}
initialImage={this.state.initialImage}
height={this.state.imageHeight}
width={this.state.imageWidth}
ref={(ref) => (this.customCrop = ref)}
overlayColor="rgba(18,190,210, 1)"
overlayStrokeColor="rgba(20,190,210, 1)"
handlerColor="rgba(20,150,160, 1)"
enablePanStrict={false}
/>
CROP IMAGE
</React.Fragment>
);
}
}
see my code