1
resposta

Foto capturada não é salva no canvas

Fiz exatamente como indicado pela instrutora e todas as partes funcionaram, mas a imagem capturada que deveria aparecer no canvas, para mim não aparece.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Até mesmo a URL gerada da imagem não mostra nada para mim. Segue código:

const botaoIniciarCamera = document.querySelector('[data-video-botao]');
const campoCamera = document.querySelector('[data-camera]');
const video = document.querySelector('[data-video]');
const botaoTirarFoto = document.querySelector('[data-tirar-foto]');
const canvas = document.querySelector('[data-video-canvas]');
const mensagem = document.querySelector('[data-mensagem]');

let imagemURL = '';

botaoIniciarCamera.addEventListener('click', async function() {
    const iniciarVideo = await navigator.mediaDevices.getUserMedia({video: true, audio: false});

    botaoIniciarCamera.style.display = 'none';
    campoCamera.style.display = 'block';

    video.srcObject = iniciarVideo;
})

botaoTirarFoto.addEventListener('click', () => {
    canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.heigth);

    imagemURL = canvas.toDataURL("image/jpeg");
    console.log(imagemURL);

    campoCamera.style.display = "none";
    mensagem.style.display = "block";
})
1 resposta

Oii, Mateus! Tudo bem?

Desculpa pela demora em respondê-lo.

Obrigada por compartilhar o trecho do seu código, por ele consegui identificar que o erro é de sintaxe em canvas.height, você digitou canvas.heigth.

O trecho do código corrigido ficará assim:

botaoTirarFoto.addEventListener('click', () => {
    canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);

Após a correção faça o teste, o código rodará como esperado.

Espero ter ajudado. Qualquer dúvida, não hesite em recorrer ao fórum.

Bons estudos!

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