实现思路如下:
1.设置好拍照背景,如使用红布或者蓝布等等,白墙也可以。
2.选择高清的摄像头,如罗技等高清摄像头,支持的分辨率越高越好。
3.使用ImageCapOnWeb处理拍照。
4.调用控件的start方法开始获取摄像头视频
5.调用cap()方法拍照
6.调用selectRect方法选中头像区域,不满意的话可以手动微调。
7.调用cutSelected方法裁剪使用选中区域
8.保存拍照结果。
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>控件测试页面</title> <script type="text/javascript"> function startCam(){ var capActivexObject=document.getElementById('cap1'); //启动摄像头 capActivexObject.start(); } function capPicture1(){ var capActivexObject=document.getElementById('cap1'); capActivexObject.cap(); //控制摄像头拍照 } function selectPic(){ var capActivexObject=document.getElementById('cap1'); capActivexObject.selectRect(0.3,0.25,0.6,0.8);//具体含义请查看文档 } function cutSelectedPic(){ var capActivexObject=document.getElementById('cap1'); capActivexObject.cutSelected(); } function submitToServer(){ //读取控件的拍照结果到hidden输入项中 var base64_data1 = document.getElementById('cap1').jpegBase64Data; if (base64_data1.length==0) { alert('请先拍照!'); return false; } document.getElementById('picData1').value=base64_data1; document.getElementById('picExt1').value='.jpg'; /*注意不同的服务器端技术要配置不同的接收数据的url,可以参考submit.html的示 如asp.net的程序员可以查看submit.aspx,php程序员可以查看submit.php,asp程序员可以查看submit.asp */ //document.forms[0].action="http://localhost:8080/pages/submit.jsp"; alert('请先打开demo6.html配置服务器端程序参数再继续测试!'); return false; document.forms[0].submit(); } </script> </head> <body> <form method="post" > <input type="hidden" id="picData1" name="picData1"/> <input type="hidden" id="picExt1" name="picExt1"/> <input type="hidden" id="picData2" name="picData2"/> <input type="hidden" id="picExt2" name="picExt2"/> <p> <input type="button" value="启动摄像头" onclick="javascript:startCam();" /> <input type="button" value="拍照片" onclick="javascript:capPicture1();" /> <input type="button" value="选中头像区域" onclick="javascript:selectPic();" /> <input type="button" value="裁剪选中区域" onclick="javascript:cutSelectedPic()" /> <input type="button" value="提交到服务器端" onclick="javascript:submitToServer();" /> <br/> <input type="button" value="清除结果" onclick="javascript:document.getElementById('cap1').clear();" /> </p> <object classid="clsid:34681DB3-58E6-4512-86F2-9477F1A9F3D8" id="cap1" width="640" height="480" codebase="../cabs/ImageCapOnWeb.cab#version=2,0,0,0"> <param name="Visible" value="0"> <param name="AutoScroll" value="0"> <param name="AutoSize" value="0"> <param name="AxBorderStyle" value="1"> <param name="Caption" value="scaner"> <param name="Color" value="4278190095"> <param name="Font" value="宋体"> <param name="KeyPreview" value="0"> <param name="PixelsPerInch" value="96"> <param name="PrintScale" value="1"> <param name="Scaled" value="-1"> <param name="DropTarget" value="0"> <param name="HelpFile" value> <param name="PopupMode" value="0"> <param name="ScreenSnap" value="0"> <param name="SnapBuffer" value="10"> <param name="DockSite" value="0"> <param name="DoubleBuffered" value="0"> <param name="ParentDoubleBuffered" value="0"> <param name="UseDockManager" value="0"> <param name="Enabled" value="-1"> <param name="AlignWithMargins" value="0"> <param name="ParentCustomHint" value="-1"> <param name="licenseMode" value="2"> <param name="key1" value=""> <param name="key2" value=""> </object> </form> <script type="text/javascript"> document.all.cap1.SwitchWatchOnly(); //切换到只显示摄像头画面形式,隐藏编辑按钮等图标. </script> </body> </html>
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*,java.io.*" errorPage="" %> <% String savePath=config.getServletContext().getRealPath("/")+"//"; File tmp_path=new File(savePath); tmp_path.mkdirs(); System.out.println("照片数据保存路径:"+savePath); String pic_base_64_data=request.getParameter("picData"); //如果下面的代码输出true则说明需要调整服务器软件工作参数,解决接受post数据的大小限制问题,例如 //tomcat的话需要在server.xml中配置maxPostSize="0"来解除上传数据的大小限制 <Connector port="8080" protocol="HTTP/1.1" // connectionTimeout="20000" // redirectPort="8443" maxPostSize="0"/> // System.out.println(null==pic_base_64_data); System.out.println("base64 string length:"+pic_base_64_data.length()); String fileFormat=request.getParameter("picExt"); sun.misc.BASE64Decoder decode=new sun.misc.BASE64Decoder(); byte[] datas=decode.decodeBuffer(pic_base_64_data); String filename=String.valueOf(System.currentTimeMillis())+fileFormat; File file=new File(savePath+filename); OutputStream fos=new FileOutputStream(file); System.out.println("图片文件名称:"+filename); fos.write(datas); fos.close(); out.print("<a href='" + request.getContextPath()+"/"+ filename + "'>click here</a>"); out.flush(); out.close(); %>
相关推荐
企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码...
2. JSP代码实现: - 使用`<jsp:useBean>`标签实例化表示购物车的JavaBean,存储在会话中,以便跨页面保持状态。 - `request.getParameter()`获取用户提交的商品ID,然后调用业务逻辑层的方法将商品添加到购物车。 ...
jsp验证码实现源代码,用jsp做注册验证码
JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码
【JSP实现购物车源代码】是一个典型的Web开发实践,主要涉及了JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)这两项关键的技术。本文将深入解析这两个核心技术及其在购物车功能实现中的...
JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上...
如果想要在jsp页面中实现图片移动,可以使用以下代码:<marquee><img src="图片地址" width="150" height="100"></marquee> 这个代码可以帮助开发者快速实现图片移动的效果。 八、背景音乐代码 如果想要在jsp页面...
JSP注册页面的代码是JSP编程语言中的一种经典实现方式,旨在帮助新学JSP的同学们掌握基本的JSP编程技术。本文将对JSP注册页面的代码进行详细解析,帮助读者更好地理解JSP编程语言。 标题:JSP注册页面的代码 描述...
【标题】"jsp学生选课系统代码及报告"是一个基于Java服务器页面(JSP)技术构建的教育管理软件,主要用于实现学生在线选课的功能。在这样的系统中,JSP作为前端展示层,处理用户交互,展示课程信息,接收学生的选课...
jsp实现时钟显示代码 本资源详细介绍了使用jsp实现时钟显示的代码,代码已经经过调试,运行无错误,可以直接导入MyEclipse使用。 知识点解说: 1. JSP页面结构:本代码使用的jsp页面结构包括page指令、DOCTYPE...
JSTL 实现 JSP 分页显示数据代码(MySQL 数据库) 本文将详细讲解如何使用 JSTL 实现 JSP 分页显示数据代码,并使用 MySQL 作为数据库。该代码不仅提供了分页显示数据的功能,还提供了数据库和表的创建代码。 标题...
【标题】"jsp 品红项目 源代码"所涵盖的知识点主要涉及Java Server Pages(JSP)技术在实际项目开发中的应用,特别是针对一个名为“品红”的项目。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript...
JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以实现服务器端的业务逻辑处理。JSP通过编译成Servlet来运行,从而提供了高效且可扩展的Web应用开发方式。在这个交友网站中,JSP主要负责...
【JSP论坛源代码实现详解】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML、XML或者其他标记语言中嵌入Java代码,从而实现动态内容的生成。在这个名为“BBS项目组”的压缩包中...
Description: 该文章讲述了如何使用 JSP 实现注册页面验证码验证代码,代码使用请有基础 JSP 基础,知道将代码添加到哪里,文章中已做详细阐述。 Tag: JSP、验证码、代码、表单验证 Knowledge Points: 1. JSP ...
【JSP精美版面与代码】的学习资源是一个宝贵的资料库,尤其对于初学者或希望提升JSP页面设计技能的开发者来说。JSP(JavaServer Pages)是Java平台上的一个动态网页技术,它允许开发者将静态内容与动态逻辑相结合,...
对于“源代码”标签,意味着我们可以查看和修改系统的全部实现,这对于学习和理解系统的工作原理非常有帮助。在压缩包内的“源代码”文件夹中,通常包含以下几个部分: 1. **JSP文件**:这些文件包含了用户界面的...
本篇将深入解析基于JSP技术构建的网上社区源代码,探讨其核心概念、实现原理以及与数据库的交互方式。JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许开发人员在HTML或XML文档中嵌入Java代码,从而实现...