vue的webcamjs集成方式


Posted in Javascript onNovember 16, 2020

记一次在vue中使用webcamjs调取pc端摄像头拍照

说明

本例调用摄像头基于webcamjs

第一步: Photo.vue 组件

<template>
 <div>
  <div id="results">Your captured image will appear here...</div>
  <h1>WebcamJS Test Page</h1>
  <h3>Demonstrates simple 320x240 capture & display</h3>
  <div id="my_camera"></div>
  <form>
   <input type=button value="拍照" @click="take_snapshot()">
  </form>
 </div>
</template>
<script>
import '../assets/webcamjs/webcam.js'
 export default {
 name: 'TakePhoto',
 data() {
  return{
 
  }
 },
 methods: {
   take_snapshot: function () {
    // take snapshot and get image data
    Webcam.snap( function(data_uri) {
     // display results in pages
     document.getElementById('results').innerHTML = 
      '<h2>Here is your image:</h2>' + 
      '<img src="'+data_uri+'"/>';
    } );
   }
   },
   mounted() {
    Webcam.set({
     width: 320,
     height: 240,
     image_format: 'jpeg',
     jpeg_quality: 90
    });
    Webcam.attach( '#my_camera' );
   }
 }
</script>

第二部:使用

<template>
 <div id="app">
  <Photo></Photo>
 </div>
</template>
<script>
import Photo from './components/Photo'
export default {
 name: 'app',
 components: {
  Photo
 }
}
</script>

结果演示

vue的webcamjs集成方式

补充知识:vue网页调用手机摄像头,webview如何实现

近期有个需求,通过vue的网页调用手机摄像头,拍摄完成后,传回照片给vue。

作为刚开始接触安卓的小白,看了非常多的案例,都是新建camera类,处理拍照、拍视频、查看照片等操作。而我的需求非常简单,就是点击按钮,拍照,给网页返回照片而已,不需要如此复杂的操作,于是尝试着用简单的方式完成调用摄像头的功能。

(1)vue端,增加一个a标签,设置跳转关键字camera,这个是安卓识别要调用摄像头的关键点。

vue的webcamjs集成方式

(2)手机端,接受a标签的跳转,注:a标签调用一般会去调用WebViewClient的onPageFinished方法,但是此时的跳转属于非常规跳转,故采用`camera:`标识此次的跳转,然后就会调用WebViewClient的shouldOverrideUrlLoading方法拦截此次跳转,具体写法如下:

vue的webcamjs集成方式

vue的webcamjs集成方式

vue的webcamjs集成方式

基本上就是判断跳转连接中是否包含camera字段了,包含即调用监听事件,利用监听事件调用手机的摄像头,Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);即可。

不过问题在于WebViewClient的shouldOverrideUrlLoading方法返回对象是boolean类型,那么,我们需要返回的是图片路径或者图片本身,也可以是base64处理过的流,这个类型的返回值对我们没有太多意义,所以设置一个全局变量imageUri,在拍照之前给其赋值,在回调时就利用这个路径可以得到想要的所有格式的图片数据了。

(3)上图,最后一步,完成了就可以直接去vue端接收图片了。

vue的webcamjs集成方式

一枚程序媛,安卓开发新手,做的东西可能比较low,欢迎批评指正。

以上这篇vue的webcamjs集成方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 Javascript
JQuery解析XML的方法小结
Apr 02 Javascript
JS验证字符串功能
Feb 22 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
三步实现ionic3点击退出app程序
Sep 17 Javascript
vue中在vuex的actions中请求数据实例
Nov 08 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 Javascript
SpringBoot在yml配置文件中配置druid的操作
Nov 16 #Javascript
详解JavaScript原型与原型链
Nov 16 #Javascript
详解JavaScript执行模型
Nov 16 #Javascript
Vue 实现拨打电话操作
Nov 16 #Javascript
微信小程序实现页面左右滑动
Nov 16 #Javascript
Vertx基于EventBus发送接受自定义对象
Nov 16 #Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 #Javascript
You might like
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP计数器的实现代码
2013/06/08 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
python简单的三元一次方程求解实例
2020/04/02 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
作为网站管理者应当如何防范XSS
2014/08/16 面试题
自荐信的五个重要部分
2013/10/29 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
学校督导评估方案
2014/06/10 职场文书
个人合伙协议书范本
2014/10/14 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
任命通知范文
2015/04/21 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python