• 使用html5绘图技术事项调用摄像头拍照;


     在mui框架中调用手机摄像头进行拍照可以直接使用原声的HTML5;

      以下是HTML代码

    <video id="video" width="640" height="480" autoplay></video>   <!--这一行是调用摄像头之后呈现的画面-->
    <button id="snap">Snap Photo</button>   <!--拍照按钮-->
    <canvas id="canvas" width="640" height="480"></canvas><!--这一行是拍照之后呈现在网页上的画面-->
    

      以下是JavaScript代码

    var aVideo=document.getElementById('video');
    		var aCanvas=document.getElementById('canvas');
    		var ctx=aCanvas.getContext('2d');
    		
    		navigator.getUserMedia  = navigator.getUserMedia ||
                              navigator.webkitGetUserMedia ||
                              navigator.mozGetUserMedia ||
                              navigator.msGetUserMedia;//获取媒体对象(这里指摄像头)
          	navigator.getUserMedia({video:true}, gotStream, noStream);//参数1获取用户打开权限;参数二成功打开后调用,并传一个视频流对象,参数三打开失败后调用,传错误信息
    		
    		function gotStream(stream) {
    			video.src = URL.createObjectURL(stream);
    			video.onerror = function () {
    			  stream.stop();
    			};
    			stream.onended = noStream;
    			video.onloadedmetadata = function () {
    			  alert('摄像头成功打开!');
    			};
    		}
    		function noStream(err) {
           	 	alert(err);
          }
    
    
    
    
    
    
    //按钮模拟拍照,就是通过绘图将捕捉到的画面呈现在画布上
    
    document.getElementById("snap").addEventListener("click", function() {
    		
    		ctx.drawImage(aVideo, 0, 0, 640, 480);//将获取视频绘制在画布上
    	});
    

      

  • 相关阅读:
    CUDA 函数前缀与存储器前缀讨论
    VC++控制台程序中使用定时器
    C++中的RTTI
    C/C++ 时间转换与表示
    [转]winsock和winsock2冲突
    自然归并排序 c++ (原创)
    关于CC++运行时库的多线程版本的工作记录
    关于sizeof(原)
    结构体最后的长度为0或1数组的作用(转载)
    CUDA中常见的错误:the launch timed out and was treminated.
  • 原文地址:https://www.cnblogs.com/qqfontofweb/p/7081536.html
Copyright © 2020-2023  润新知