Cursos / Informática para Internet / Desenvolvimento para Dispositivos Móveis / Aula
Após utilizar a câmera e visualizar a imagem, queremos agora capturar efetivamente a foto.
Primeiramente, iremos precisar de uma variável que referencie a câmera. Isso atráves de uma propriedade do componente.
Veja o exemplo abaixo:
let camera;
E no componente:
<Camera ref={ref => camera = ref}type={type} style={styles.camera}></Camera>
Quando for realizada a captura da imagem, precisaremos armazenar essa informação em um estado para não a perdermos. Então, em seu código, crie o estado abaixo:
const [foto, setFoto] = useState(null)
Para fazer a captura efetiva da foto, precisaremos implementar um nova função. Então, acompanhando a aula, crie a função abaixo:
async function takePicture() {
if (!camera) return
const photo = await camera.takePictureAsync()
setFoto(photo)
}
Agora, já temos a informação salva e ela pode ser usada para diversas ações, como, por exemplo: exibição, envio para servidores etc.
Para exibir a captura, vamos utilizar o componente Image do react native, passando o tamanho que a imagem deve ter e no source a uri da imagem capturada.
Veja abaixo:
<Image style={{ width: 100, height: 100 }} source={{ uri: foto && foto.uri }}></Image>
E para captura será implementado um botão como abaixo:
<Button title="Tira Foto" onPress={() => takePicture()}></Button>
Assim, ao final, já será possível tirar a foto e exibi-la no aplicativo.
Versão 5.3 - Todos os Direitos reservados