博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery webcam plugin调用摄像头
阅读量:6295 次
发布时间:2019-06-22

本文共 2178 字,大约阅读时间需要 7 分钟。

简介

原来做项目遇到了调用摄像头功能,php小白遇到这情况立刻就去网上搜索,最后用的
,太烂了,作者也没说如何去使用,如果用的是框架开发更是很麻烦

今天再次发现一款比较灵活的插件jQuery webcam plugin,资源链接:【demo】

使用方法

部分参考:
  • width: 320, height: 240,//这两个参数考虑到显示效果320*240为标准的显示模式,不可更改(插件硬伤)。如果要修改大小其实也是可以的,修改jscam.swf源文件
  • mode:// 存储方式可以按以下三种方式callback | save | stream
  • swffile://可以选择解压后jscam_canvas_only.swf或jscam.swf,jscam_canvas_only加快了每次调用设备的效率,因为他只有jscam.swf的1/3
  • onTick: function(remain) {}//定时触发,定时拍照
  • onSave://关键地方,设置提交数据处理后台做图像参数设置
  • onCapture://点击拍照保存
  • onLoad://插件加载事件,通常这里罗列设备列表
jQuery("#webcam").webcam({    width: 320,    height: 240,    mode: "callback",    swffile: "/jscam_canvas_only.swf", // canvas only doesn't implement a jpeg encoder, so the file is much smaller    onTick: function(remain) {        if (0 == remain) {            jQuery("#status").text("Cheese!");        } else {            jQuery("#status").text(remain + " seconds remaining...");        }    },    onSave: function(data) {        var col = data.split(";");    // Work with the picture. Picture-data is encoded as an array of arrays... Not really nice, though =/    },    onCapture: function () {        webcam.save();       // Show a flash for example    },    debug: function (type, string) {        // Write debug information to console.log() or a div, ...    },    onLoad: function () {    // Page load        var cams = webcam.getCameraList();        for(var i in cams) {            jQuery("#cams").append("
  • " + cams[i] + "
  • "); } }});
    上面的js代码再定义一个<div id="webcam"></div>,就可以打开摄像头了,但是要和php交互还要做一些修改

    完整demo

    下面代码中的注释仅是个人理解,并非作者原有,仅供参考

    html+js

        
    jQuery-webcam-master

    php后台处理

    后台是涉及的是php绘图技术,在php.ini中开启extension=php_gd2.dll,如果是框架开发,在上面的js中$.post异步给框架【TP】中控制器的某个方法
    $csv) { foreach (explode(";", $csv) as $x => $color) { imagesetpixel($im, $x, $y, $color); } }} else { // input is in format: data:image/png;base64,... $im = imagecreatefrompng($_POST['image']);}imagepng($im,"circle".time().".png");//保存,指定路径imagedestroy($im);// do something with $im

    源码编译

    该插件有个缺点就是像素大小不能调整,如果要调整像素大小需要编译
    src目录下的源码,我没有亲自测试,提供编译成功的例子 【jQuery Webcam Plugin jscam.swf文件反编译工具使用说明】

    demo下载

    原作者本人【】

    我自己的demo:

    • git下载:
    • 百度云下载:链接: 密码:u2c2

    转载地址:http://ggkta.baihongyu.com/

    你可能感兴趣的文章
    初探Angular6.x---进入用户编辑模块
    查看>>
    计算机基础知识复习
    查看>>
    【前端词典】实现 Canvas 下雪背景引发的性能思考
    查看>>
    大佬是怎么思考设计MySQL优化方案的?
    查看>>
    <三体> 给岁月以文明, 给时光以生命
    查看>>
    Android开发 - 掌握ConstraintLayout(九)分组(Group)
    查看>>
    springboot+logback日志异步数据库
    查看>>
    Typescript教程之函数
    查看>>
    Android 高效安全加载图片
    查看>>
    vue中数组变动不被监测问题
    查看>>
    3.31
    查看>>
    类对象定义 二
    查看>>
    收费视频网站Netflix:用户到底想要“点”什么?
    查看>>
    MacOS High Sierra 12 13系统转dmg格式
    查看>>
    关于再次查看已做的多选题状态逻辑问题
    查看>>
    动态下拉菜单,非hover
    查看>>
    政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
    查看>>
    简单易懂的谈谈 javascript 中的继承
    查看>>
    iOS汇编基础(四)指针和macho文件
    查看>>
    Laravel 技巧锦集
    查看>>