首页 > 其他分享 >调用设备摄像头

调用设备摄像头

时间:2023-03-22 21:25:06浏览次数:30  
标签:src canvas 调用 img refs video 摄像头 设备

 

新建一个video标签,设置大小,ref命名

<video
        ref="video"
        autoplay
        width="700"
        height="500"
        class="videoElement"
      ></video>

 

video获取摄像头内容

可以这么写,没有回调提示

查看代码
 // video标签获取摄像头内容
      this.$refs.video.srcObject = await navigator.mediaDevices.getUserMedia({
        video: true,
        audio: false,
      });

 

也可以这么写,有回调+  用户体验好

查看代码
 await navigator.mediaDevices
        .getUserMedia({
          video: true,
          audio: false,
        })
        .then((stream) => {
          this.$refs.video.srcObject = stream;
          console.log("摄像头开启成功");
        })
        .catch((error) => {
          console.log("摄像头开启失败");
        });

 

 


加个画布实现截图拍照

创建canvas标签,设置大小,ref命名

<canvas
        ref="canvas"
        width="400"
        height="300"
        class="canvansturn"
      ></canvas>

 

获取canvas对象

      // 创建canvas对象
      this.canvas = this.$refs.canvas;
      this._context2d = this.canvas.getContext("2d");

 

调用canvas对象的获取内容功能 【就是   this.canvas.getContext("2d").drawImage()  】

this._context2d.drawImage(this.$refs.video, 0, 0, 400, 300);

调用后画布显示的内容就是video的内容

 

 

 


新建标签点击后下载canvas图片

<!-- 下载 -->
      <a href="" download="canvas.jpeg" id="save_herf">
        <img src="" id="save_img" alt="" />
      </a>

 

js这么写

var img = document.createElement("img"); // 创建img元素
      img.src = this.canvas.toDataURL("image/png"); // 截取画布内容
      var svaeHref = document.getElementById("save_herf");
      console.log(img.src);

        var sd = document.getElementById("save_img");
        svaeHref.href = img.src;
        sd.src = img.src;

 

标签:src,canvas,调用,img,refs,video,摄像头,设备
From: https://www.cnblogs.com/Hello233/p/17245472.html

相关文章

  • 查出来的100个值,如何调用存储过程输出sql
     存储过程查出来的100个值,如何调用存储过程输出sql如果您想要在存储过程中使用这100个值,可以尝试以下步骤:将这100个值保存到一个临时表中,例如创建一个名为“temp......
  • 工业锅炉设备远程监控运维
    ​我国是全球工业锅炉生产应用数量最大、应用范围最广泛的国家,规模以上锅炉生产企业有千余家。我国工业锅炉容量小、数量大、布点散、能耗高,无法做到集中管理和控制,对于锅炉......
  • Java调用标签打印机打印标签
    标签打印机:TSC TTP-244Pro打印机驱动:file:///C:/Users/admin/Downloads/tsc_2022.1_m-2.exe_1.zip官方文档预览下载: https://fs.chinatsc.cn/system/files/tspl_tspl......
  • 精准测试之分布式调用链底层逻辑
    作者:京东工业宛煜昕概要:1.调⽤链系统概述;2.调⽤链系统的演进;3.调⽤链的底层实现逻辑;4.Span内容组成。⼀、分布式调⽤链系统概述客户打电话给客服说:“优惠券使......
  • linux 设备增加跨网段功能
    一般linux设备在使用过程中需要跟不在同一网段的服务器进行通信,需要设置网口的跨网点功能,使用route命令增加路由转发增加网络设备eth0对网段的192.168.的处理rout......
  • 为什么越来越多企业用二维码做设备巡检?
    拿出手机扫一扫,巡检”码“上搞定。对于很多生产制造类企业来说,设备的巡检、维保是设备管理中不可或缺的环节,也是一个”老大难“的问题。传统的做大是巡检人员在设备旁的纸质......
  • Pycharm查看类或函数的使用和调用
    一、类或函数的使用当我们看到一个类或函数的时候,一定想知道它的作用是什么,它的输入参数有哪些,输出是什么。下面提供几种方法:(1)鼠标直接指在类或函数上,右键->GoTo->Declara......
  • 一统天下 flutter - dart: 其它(用调用函数的方式调用类的实例,生成器)
    一统天下flutterhttps://github.com/webabcd/flutter_demo作者webabcd一统天下flutter-dart:其它(用调用函数的方式调用类的实例,生成器)示例如下:lib\dart\othe......
  • 关于ATL COM idl函数描述out,retval的不同调用方式
    ''C++.hSTDMETHODIMPMyATL15(LONGa,LONGb,LONG*c);''C++.idl[id(1),helpstring("MethodMyATL15")]HRESULTMyATL15([in]LONGa,[in]LONG......
  • (EVE-NG)江西省职业技能大赛网络设备与操作系统基本配置
    原题:https://blog.csdn.net/qq_50377269/article/details/125017385环境:EVE-NG网络拓扑图(简化了一台linux服务器,原因是还没下载镜像)  网络设备基本配置ISP......