Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
¿Cómo capturar solo la ventana gráfica usando Canvas drawImage () en la aplicación de la cámara?

Estoy creando un componente de cámara simple en React, con una funcionalidad similar a las de Messenger o Snapchat. Usé CSS para hacer que la transmisión de video respondiera e implementé la función dibujarImagen para capturarla. El problema es que captura todo el rango de la cámara en lugar de solo la ventana gráfica. La diferencia se ve principalmente cuando se toma una foto verticalmente en el móvil, porque aunque la transmisión de video se recorta, la imagen capturada también muestra partes recortadas y se condensa. Sé que probablemente se puede arreglar cambiando los parámetros de drawImage() pero aún no encontré una solución que funcione.

Aplicación.js

 const getVideo = () => { navigator.mediaDevices .getUserMedia({ video: { width: window.screen.width, height: window.screen.height} }) .then(stream => { let video = videoRef.current; video.srcObject = stream; video.play(); }) .catch(err => { console.error(err); }) } const takePhoto = () => { const width = window.innerWidth; const height = window.innerHeight; let video = videoRef.current; let photo = photoRef.current; photo.width = width; photo.height = height; let ctx = photo.getContext('2d'); ctx.drawImage(video, 0, 0, width, height); setHasPhoto(true) }

aplicación.css

 .camera video { width: 100%; object-fit: cover; height: 100vh; }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda