首页 > 其他分享 >2024.1.18-每日进度笔记

2024.1.18-每日进度笔记

时间:2024-01-18 16:45:20浏览次数:20  
标签:2024.1 canvas const photo 笔记 getElementById video 18 document

今天,我主要尝试了通过摄像头拍照并保存在本地指定文件。

 

参考:百度文心一言的回复。

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>获取摄像头画面并拍照</title>

</head>
<body>
    <form id="form" action="test0118-2.jsp" method="post">
        <input type="hidden" id="base64Image" name="base64Image">
    </form>
    <video id="video" width="640" height="480"
        style="border: 1px solid #000;" autoplay></video>
    <canvas id="canvas" style="display: none;" width="640" height="480"></canvas>
    <img id="photo"
        style="width: 640px; height: 480px; border: 1px solid #000;"
        width="640" height="480">

    <button id="snap">拍照</button>
    <button id="submit">提交图片</button>
    <script>  
      const video = document.getElementById('video');  
      const canvas = document.getElementById('canvas');  
      const context = canvas.getContext('2d');  
      const snap = document.getElementById('snap');  
      const photo = document.getElementById('photo');  
      const base64Image = document.getElementById('base64Image');  
      const form = document.getElementById('form');  
  
      navigator.mediaDevices.getUserMedia({ video: true })  
        .then(stream => {  
          video.srcObject = stream;  
          video.play();  
        })  
        .catch(error => {  
          console.error('无法获取摄像头:' + error);  
        });  
  
      snap.addEventListener('click', () => {  
        context.drawImage(video, 0, 0, 640, 480);  
        const dataURL = canvas.toDataURL('image/png');  
        photo.src = dataURL;  
        //photo.style.display = 'block';  
      });  
      document.getElementById('submit').addEventListener('click', () => {  
          // 提交图片的代码部分开始  
          const photo = document.getElementById('photo');  
          if (photo.src!='') {  
            const imageUrl = photo.src; // 获取图片的 DataURL 或 URL  
            base64Image.value=imageUrl;
            form.submit();
          } else {  
            alert('请先拍照!');
          }  
        });  
    </script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>

</head>
<body>
    <%
    String base64Image = request.getParameter("base64Image").split("base64,")[1];
    String path = test0113.Base64ToImage.test(base64Image);
    out.print(path);
    %>
</body>
</html>

 

标签:2024.1,canvas,const,photo,笔记,getElementById,video,18,document
From: https://www.cnblogs.com/zhangxutong/p/17972835

相关文章

  • 「笔记」哈希
    目录写在前面哈希是什么?写在最后写在前面大部分内容来自高中时期讲课PPT,在这里整理成了适合自学的形式。哈希是什么?一种用于统计复杂信息的的不完美算法。构造一个满射[1]的哈希函数,将复杂信息映射到便于统计的信息上。丢失了部分信息。写在最后进度有点太赶了!题单太难......
  • 关于2023分子植物育种大会随笔记录与思考
    目录智能育种转基因基因编辑育种实践2023年底分子植物育种大会在成都举行,会后要点胡乱记录之。有些来自嘉宾观点,有些是个人思考,杂糅一起,仅供参考。智能育种分子设计育种:形态、生理、基因、等位基因、单倍型、基因组区段、通路、网络、表观组。统言之,生物相关分子皆可设计。科迪华玉......
  • 1.18学习进度
    1.local模式基本原理   本质:启动一个JVMProcess进程(一个进程里面有多个线程),执行任务task   local模式可以限制模拟spark集群环境的线程数量,即local[N]或local[*]       其中N代表可以使用N个线程,如果不指定N,默认是1个线程       如果是local[*],则代表R......
  • (Python)每日代码||2024.1.18
    m=10a=10print(id(m))print(id(a))'''输出140713874176728140713874176728'''print()a=1b=2c=3d=a+bprint('a(1)\t'+str(id(a)))print('b(2)\t'+str(id(b)))print('c(3)\t'+str(id......
  • Go语言学习笔记 - 不定时更新
    Go语言常用命令环境准备#修改go配置exportGOPROXY="https://goproxy.cn"GoMod(注:比较常用的是init,tidy,edit)gomodinitnamecreatemodules(创建包名注:包名在import引入自定义包时替代GOPATH)gomoddownloaddownloadmodulestolocalcache(下载依赖......
  • 阅读笔记《大象:Thinking in UML》下
    《ThinkinginUML》中的大象思考引发了我对UML在软件开发中的重要性和应用的思考。大象的比喻不仅揭示了软件项目的庞大和复杂性,同时也突显了UML作为一种建模语言的价值。首先,大象象征了软件项目的庞大复杂性。在一个庞大的项目中,各种功能、模块和组件交织在一起,形成了一个庞大......
  • 18、nginx访问控制
    1.权限控制指令Nginx中提供了两个用于配置访问权限控制的指令,分别为allow和deny。allow用于设置允许访问的权限deny用于设置禁止访问的权限。在使用时,权限指令后只需跟上允许或禁止的IP、IP段或all即可。其中all表示所有的。单个IP指定作用范围最小,all指定作用范围最......
  • 《人月神话》读书笔记2
    第六章贯彻执行:手册、或者书面规格说明,是一个非常必要的工具,尽管光有文档是不够的。手册是产品的外部规格说明,它描述和规定了用户所见的每一个细节;同样的,它也是结构师主要的工作产物。第七章:为什么巴比伦塔会失败:即使拥有充足的技术、人力、时间等资源也是不够的。还要有沟通、......
  • 《人月神话》读书笔记1
    《人月神话》是讲软件工程中人与团队的关系,讨论那些由团队开发的大程序。第一章焦油坑:焦油坑对应软件,程序员对应各种野兽的比喻很贴切。事实上在实际工作中的感受确实如此,为何精心编制的作品终有一日成了这样的焦油坑?这里无需找其他类似于历史债务、团队水平等借口为自己开脱,程......
  • flask伪造session的一些笔记
    关于flask工具要注意的一些点:密钥使用字符串和数字生成出来的是不一样的伪随机数生成key的时候python2和python3是不一样的,python2会后面的小数自动约分。解密出来的字符串不能直接更改值,需要改为键对值的格式伪随数生成key的方法有很多种,有的可以获取mac地址/sys/class/net/......