reactjs - touchableopacity - ¿Cómo uso una imagen capturada con react-native-camera?
react-native-image-picker (2)
La solución fue habilitar la opción Guardar en disco frente a la opción Guardar en cameraRoll:
<Camera
captureTarget={Camera.constants.CaptureTarget.disk}
// Rest of Camera options here
/>
Puedo obtener el módulo reaccionar-nativo-cámara para acceder a la cámara y guardar una imagen. Sin embargo, no puedo entender cómo mostrar esta imagen al usuario.
Lo que estoy intentando:
Aquí tomo la foto. Esto genera lo que parece ser un archivo .jpg
en 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'');
});
}
Sin embargo, si trato de renderizar la imagen:
render: function() {
return(
<Image style={styles.image} source={{uri: this.state.photo}}/>
);
}
Me sale este error:
No suitable image URL loader found for assets-library://asset/asset.JPG?id=.......
¿Cómo puedo tomar una foto, guardarla en el state
actual de mi aplicación y reproducirla?
Entonces, estaba usando la respuesta @YPCrumble por algún tiempo.
Pero ahora tengo que guardar la imagen en mi cámara.
Si alguien quiere continuar guardando en rollo de cámara, debe vincular manualmente la biblioteca de RTCCameraRoll.
Documentación para vincular la biblioteca aquí:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual-linking
Es tan simple:
Puede encontrar el RCTImage.xcodeproj en su node_modules / react-native / Libraries / CameraRoll
Arrastre y suelte este archivo dentro de la carpeta Bibliotecas en su proyecto XCode.
Después de eso, haga clic en su proyecto principal y busque en el panel derecho "Crear fases".
Dentro de "Enlace binario con bibliotecas", arrastre y suelte el archivo llamado "libRCTCameraRoll.a" desde el panel izquierdo -> Bibliotecas -> RTCCameraRoll.xcodeproj -> Productos