Get recently clicked image from camera on image in interactive mode

I use the camera in my own application. I want to show the recently captured image from this camera in a small representation of the image on the same screen after clicking. But I am not getting how to access the recently clicked image. Whenever any new image clicks on the phone, it is given a random default name, how can I translate it to the image source? Please suggest me some way to do this. My code

class Incident extends Component { constructor(props) { super(props) this.state= {path:"",show:false,video:Camera.constants.CaptureMode.video,camera:Camera.constants.CaptureMode.camera} } render() { return ( <View style={styles.container}> <View style={{flex:72}}> <Camera ref={(cam) => { this.camera = cam; }} style={styles.preview} aspect={Camera.constants.Aspect.fill} captureMode={this.state.camera}> </Camera> </View> <View style={{flex:8,opacity:0.5,backgroundColor:'black'}}> {()=>this.showClickedImage()} </View> <View style={{flex:10,flexDirection:'row',justifyContent:'space-between',backgroundColor:'#f3396b'}}> <TouchableOpacity style={{flex:33,flexDirection:'column', alignItems: 'center',paddingTop:10}}> <Image style={styles.icon} source={require('./Images/menu.png')}/> <Text>Home</Text> </TouchableOpacity> <TouchableOpacity style={{flex:34,flexDirection:'column', height:70,alignItems: 'center',borderColor:'#dd1e52',borderWidth:1,paddingTop:5}} onPress={()=>this.takePicture()}> <Image style={{width:50,height:50}} source={require('./Images/capture.png')}/> </TouchableOpacity> <TouchableOpacity style={{flex:33,flexDirection:'column', alignItems: 'center',paddingTop:10}}> <Image style={styles.icon} source={require('./Images/profile.png')}/> <Text>Profile</Text> </TouchableOpacity> </View> </View> ); } showClickedImage() { return <View style={{flex:1,height:40,width:40, borderWidth:1,borderColor:'black'}}> <Image style={{width:40,height:40}} source= {{uri: this.state.path}}/> </View> } takePicture() { this.camera.capture() .then((data) =>{console.log(data.path),this.setState({show:true}),this.setState({path:data.path})}) .catch(err => console.error(err)); } } 
+4
source share
1 answer

camera.capture() returns the path to the captured image. Use this to display in the Image component.

 <Image source={{uri: data.path}} style={{width: 100, height: 100}} /> 
+5
source

Source: https://habr.com/ru/post/1263519/


All Articles