You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						                                                                         | 
						 | 
						<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title></head><body>    <!--显示头像-->    <div class="show-picture" id="picture_div" >        <video id="video" class="picture-video" width="360" height="360" autoplay></video>        <canvas id="canvas" class="picture-canvas" width="360" height="360"></canvas>        <img id="headSculpture">        <button type="button" class="layui-btn layui-btn-normal snap" id="snap">拍照</button>    </div>    <script language="JavaScript">        //开启摄像头        var MediaStreamTrack;        var isPhotograph=true;        function getMedia() {            let constraints = {                video: {width: 360, height: 360},                audio: false,            };            //获得video摄像头区域            let video = document.getElementById("video");            //这里介绍新的方法,返回一个 Promise对象            // 这个Promise对象返回成功后的回调函数带一个 MediaStream 对象作为其参数            // then()是Promise对象里的方法            // then()方法是异步执行,当then()前的方法执行完后再执行then()内部的程序            // 避免数据没有获取到            let promise = navigator.mediaDevices.getUserMedia(constraints);            promise.then(function (MediaStream) {            MediaStreamTrack=typeof MediaStream.stop==='function'?MediaStream:MediaStream.getTracks()[1];            video.srcObject = MediaStream;                video.play();                isPhotograph = false            });        }        //拍照        function takePhoto() {            if(isPhotograph){                getMedia();                clearCanvas();                isPhotograph=false;            }else{                //获得Canvas对象                let video = document.getElementById("video");                let canvas = document.getElementById("canvas");                let ctx = canvas.getContext('2d');                ctx.drawImage(video, 0, 0,360, 360);                MediaStreamTrack && MediaStreamTrack.stop();                imgData = document.getElementById("canvas").toDataURL("image/jpeg");                isPhotograph=true;            }        }
        document.getElementById("snap").addEventListener("click", takePhoto);        /**         * @description 重置canvas(清除照片)         * @version 1.0         * @returns         */        function clearCanvas() {            var c = document.getElementById("canvas");            var cxt = c.getContext("2d");            c.height = c.height;        }
    </script></body></html>
  |