Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Nova funcionalidade [ Repetir foto ]

E aí também ficou com aquela pulga na orelha querendo repetir aquela foto que não ficou tão boa?

Com a nova feature Repetir foto do MoniBank você vai poder experimentar várias posturas e escolher a que mais lhe agradar. Bora ver como ficou essa implementação muito necessária para melhorar a tua experiência com o nosso site?

No HTML abaixo da div com a class formulariocamera adiciona a seguinte marcação:

<button class="camera__botao repetir-foto" data-repetir-foto>
    Repetir foto
</button>

No Javascript fizemos algumas pequenas modificações no arquivo camera.js também, veja abaixo:

botaoIniciarCamera.addEventListener('click', () => {
    tirarFoto();
    botaoIniciarCamera.style.display = 'none';
    campoCamera.style.display = 'block';
});
  1. Capturando um novo elemento, (O botão repetir foto)

const botaoRepetirFoto = document.querySelector('[data-repetir-foto]');

  1. Abstraindo o código para uma nova função
async function tirarFoto() {
    const iniciarVideo = await navigator.mediaDevices.getUserMedia({
        video: true,
        audio: false,
    });

    canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
    imagemURL = canvas.toDataURL('image/jpeg');
    video.srcObject = iniciarVideo;
}
  1. Tirando uma foto
botaoTirarFoto.addEventListener('click', (e) => {
    tirarFoto();
    campoCamera.style.display = 'none';
    mensagem.style.display = 'block';
    botaoRepetirFoto.style.display = 'block';
});
  1. Repetindo a foto
botaoRepetirFoto.addEventListener('click', (e) => {
    tirarFoto();
    campoCamera.style.display = 'block';
    mensagem.style.display = 'none';
    botaoRepetirFoto.style.display = 'none';
});

COMO FICOU?

Prontos, agora é só clicar no botão repetir foto que aparece acima da tua foto para tirar uma nova. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá João!

Obrigado por compartilhar essa sua solução e implementação, que resultado bacana, segui o seu passo a passo e ele está perfeito, funcionou certinho aqui. Essa sua dica é muito útil para não precisarmos dar um refresh na tela quando não gostamos da foto hehe, agora com um simples botão podemos refazer a nossa foto, top demais João!

Continue assim João, lhe desejo muito sucesso!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Show, luxo bom que deu certo aí também.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software