misterjones

Webcam Photobooth

Nov 2nd, 2022
6,200
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 0.92 KB | Source Code | 0 0
  1. <!--
  2.  Code borrowed from Wes Bos:
  3.    https://www.youtube.com/shorts/S0QDGTHnupU
  4. -->
  5. <canvas></canvas>
  6. <button><video playsinline muted autoplay></video></button>
  7. <script type="module">
  8.   const vid = document.querySelector('video')
  9.   const canvas = document.querySelector('canvas')
  10.   const ctx = canvas.getContext('2d')
  11.  
  12.   vid.srcObject = await navigator.mediaDevices.getUserMedia({ video: true })
  13.  
  14.   function takeaPic() {
  15.     [canvas.width, canvas.height] = [vid.videoWidth, vid.videoHeight]
  16.     ctx.drawImage(vid, 0, 0, canvas.width, canvas.height)
  17.     const image = document.createElement('img')
  18.     image.src = canvas.toDataURL('image/jpg')
  19.     image.style = `transform: rotate(${Math.random() * 360}deg) translateX(${Math.random() * 100}%) translateY(${Math.random() * 100}%);`
  20.     document.body.appendChild(image)
  21.   }
  22.   vid.parentElement.addEventListener('click', takeaPic)
  23.   setInterval(takeaPic, 500)
  24. </script>
Advertisement