Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

247
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!