2.0.11 • Published 2 years ago
@mtourj/react-native-image-crop v2.0.11
React Native Image Crop
A component for react-native crop image, such as edit user head. This fork introduces fixes, additions and improvements not limited to:
- Allows you to save crop state so you can remount the component without losing zoom state (zoomData prop)
- Converted to TypeScript - Type defintions for autocomplete and easier development
- Better finger to image position mapping (closer ratio)
- Better state management - Allows for on the fly state/prop changes without any performance hitches
- Remove deprecated dependencies and use new art
and more...
Note: This README is outdated and does not represent this version of react-native-image-crop
, will be updated in the near future.
Installation
npm install @mtourj/react-native-image-crop --save
Usage
Example
'use strict';
var React = require('react');
var ReactNative = require('react-native');
var {
StyleSheet,
View,
Text,
Image,
ImageEditor,
} = ReactNative;
var Button = require('@remobile/react-native-simple-button');
var ImageCrop = require('@remobile/react-native-image-crop');
module.exports = React.createClass({
getInitialState() {
return {
croppedImageURI: '',
};
},
edit() {
const cropData = this.imageCrop.getCropData();
ImageEditor.cropImage(
'http://v1.qzone.cc/avatar/201407/07/00/24/53b9782c444ca987.jpg!200x200.jpg',
cropData,
(croppedImageURI) => {
this.setState({croppedImageURI})
},
(error) => console.log(error)
);
},
render() {
return (
<View style={styles.container}>
<Button onPress={this.edit}>编辑</Button>
<ImageCrop
imageWidth={200}
imageHeight={200}
ref={(ref)=>this.imageCrop = ref}
source={{uri:'http://v1.qzone.cc/avatar/201407/07/00/24/53b9782c444ca987.jpg!200x200.jpg'}} />
<View style={styles.imageContainer}>
<Image
source={{uri: this.state.croppedImageURI}}
style={styles.image}
/>
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
},
imageContainer: {
height: 200,
marginTop: 20,
backgroundColor: 'white',
},
image: {
marginLeft: sr.w/2-100,
width: 200,
height: 200,
},
});
Screencasts
Props
imageWidth: PropTypes.number.required
//must be image real origin imageWidthimageHeight: PropTypes.number.required
//must be image real origin imageHeighteditRectWidth: PropTypes.number.optional
//default: 212 the edit rect widtheditRectHeight: PropTypes.number.optional
//default: 212 the edit rect heighteditRectRadius: PropTypes.number.optional
//default: 106, the rect is roundoverlayColor: PropTypes.string.optional
//default: rgba(0, 0, 0, 0.5)
Functions
getCropData()
//return ImageEditor.cropImage's cropData widthout displaySize
2.0.11
2 years ago
2.0.10
2 years ago
1.5.3
2 years ago
1.5.2
2 years ago
1.5.1
2 years ago
1.5.0
2 years ago
2.0.3
2 years ago
2.0.2
2 years ago
2.0.5
2 years ago
2.0.4
2 years ago
2.0.7
2 years ago
2.0.6
2 years ago
2.0.9
2 years ago
2.0.8
2 years ago
1.5.0-F
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.4.2
3 years ago
1.4.1
4 years ago
1.3.7
4 years ago
1.3.6
4 years ago
1.3.5
4 years ago
1.4.0
4 years ago
1.3.8
4 years ago
1.3.4
4 years ago
1.3.3
4 years ago
1.3.2
4 years ago
1.3.1
4 years ago
1.3.0
4 years ago
1.2.3
4 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.2.0
4 years ago
1.1.1
4 years ago
1.1.0
4 years ago
1.1.4
4 years ago
1.1.3
4 years ago
1.1.2
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago