2015-10-15 18 views
18

के साथ कैप्चर की गई छवि का उपयोग कैसे करूं, मैं कैमरे तक पहुंचने और छवि को सहेजने के लिए react-native-camera मॉड्यूल प्राप्त कर सकता हूं। हालांकि, मैं यह नहीं समझ सकता कि इस छवि को उपयोगकर्ता को कैसे प्रदर्शित किया जाए।मैं प्रतिक्रिया-देशी-कैमरा

मैं क्या कोशिश कर रहा हूं:

यहां मैं तस्वीर लेता हूं। यह उत्पन्न करता है क्या, assets-library://....

_takePicture() { 
     var self = this; 
     this.refs.cam.capture(function(err, data) { 
      this.setState({photo: data}); 
      console.log(err, data); 
      // data is "assets-library://asset/asset.JPG?id=########-####-####-####-##########&ext=JPG" 
      console.log('just took a picture'); 
     }); 
    } 

में एक .jpg फ़ाइल होने के लिए लग रहा है हालांकि अगर मैं छवि प्रस्तुत करने के लिए प्रयास करें:

No suitable image URL loader found for assets-library://asset/asset.JPG?id=.......

कैसे:

render: function() { 
     return(
     <Image style={styles.image} source={{uri: this.state.photo}}/> 
    ); 
    } 

मैं इस त्रुटि मिलती है क्या मैं एक फोटो ले सकता हूं, इसे अपने आवेदन के वर्तमान state पर सहेज सकता हूं, और इसे प्रस्तुत कर सकता हूं?

उत्तर

26

समाधान save to disk option बनाम cameraRoll विकल्प को बचाने के लिए सक्षम करने के लिए किया गया था:

<Camera 
    captureTarget={Camera.constants.CaptureTarget.disk} 
    // Rest of Camera options here 
/> 
0

तो, मैं कुछ समय के लिए @YPCrumble जवाब उपयोग कर रहा था।

लेकिन अब मुझे अपने कैमरे रोल में छवि को सहेजना है।

यदि कोई कैमरा रोल में सहेजना जारी रखना चाहता है, तो आपको RTCCameraRoll लाइब्रेरी को मैन्युअल रूप से लिंक करना होगा।

यहाँ लिंक लायब्रेरी के लिए प्रलेखन:

https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking

यह बहुत आसान है:

You can find the RCTImage.xcodeproj in your node_modules/react-native/Libraries/CameraRoll

Drag and drop this file inside Libraries folder in your XCode project.

After that, click in your main project, and find in the right pane "Build Phases".

Inside "Link Binary With Libraries", drag and drop the file called "libRCTCameraRoll.a" from left pane -> Libraries -> RTCCameraRoll.xcodeproj -> Products