Comment utiliser une image capturée avec react-native-camera
je peux obtenir le réagissent-native-appareil photo module pour accéder à la caméra et enregistrer une image. Cependant, je ne peux pas comprendre comment afficher cette image à l'utilisateur.
Ce que j'essaie:
Ici, je prends la photo. Cela génère ce qui semble être une .jpg
fichier 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');
});
}
par contre, Si j'essaie de rendre l'image:
render: function() {
return(
<Image style={styles.image} source={{uri: this.state.photo}}/>
);
}
j'ai cette erreur:
No suitable image URL loader found for assets-library://asset/asset.JPG?id=.......
Comment je peux prendre une photo, enregistrer state
de ma demande, et la rendre?
2 réponses
la solution était d'activer le enregistrer à l'option de disque vs. l'option save to cameraRoll:
<Camera
captureTarget={Camera.constants.CaptureTarget.disk}
// Rest of Camera options here
/>
donc, j'ai utilisé la réponse @YPCrumble pendant un certain temps.
mais maintenant je dois sauver l'image dans mon rouleau de caméra.
si quelqu'un veut continuer à économiser dans le rouleau de caméra, vous devez lier manuellement la bibliothèque RTCCameraRoll.
Documentation à la bibliothèque de liens ici:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking
C'est très simple:
Vous pouvez trouver le RCTImage.xcodeproj dans votre node_modules/réagir indigènes/Bibliothèques/CameraRoll
faites glisser et déposez ce fichier dans le dossier Bibliothèques de votre projet XCode.
après cela, cliquez sur votre projet principal, et trouvez dans le panneau de droite "Construire Des Phases".
à L'intérieur de "Link Binary With Libraries", faites glisser et déposez le fichier appelé "libRCTCameraRoll.un " de gauche - > bibliothèques - > RTCCameraRoll.XCODEPROJ - > produits