项目开发 高拍仪 base64 格式上传图片笔记

汉王高拍仪 base64 格式上传图片

功能:base64 上传图片
设备:汉王H650por
效果图如下
效果图

实现代码

下方接口代码页面

<html>
<head>
<title>欢迎使用汉王e拍仪控件</title>
</head>
<body onload="initctrl()">
<object classid="clsid:6F47932F-3873-49B4-829B-04AF831A92B1" id=hwcam CODEBASE="*.cab#version=0,0,0,0"  width=640 height=480></object>
<object classid="clsid:AF7D4101-FADA-48BE-B240-F05F877FC95A" id=hwthumb CODEBASE="*.cab#version=0,0,0,0"  width=200 height=480>
</object>

     <script   LANGUAGE=JavaScript event="AutoCaptureEvent()" for=hwcam> 
		capture();
     </script>
	 
     <script   LANGUAGE=JavaScript event="TimerCaptureEvent()" for=hwcam> 
		capture();
     </script>
     
<script type="text/javascript" src="#(ctx)/assets/libs/jquery/jquery-3.2.1.min.js"></script>
<script language="javascript">
var parentLayerId;
var submitUrl;
var submitSuccess;
var formData;
	function getcurcam()
	{
		return document.getElementById("CamList").value;
	}
		//初始化
	function initctrl()
	{
		deloptionCam();

		var count = hwcam.GetCamCount();
		for(i = 0; i < count; i++)
		{
			var s = hwcam.GetCamName(i);
			addoptionCam(s);
		}
		document.getElementById("CamList").value = 1;
			
		initclr();
		initAudio();

		initcutmode();

		initclrspace();
	}

	function initAudio()
	{
		var count = hwcam.GetAudioCount();
		for(var i = 0; i < count; i++)
		{
			var s = hwcam.GetAudioName(i);
			addoptionaudio(s);
		}
	}

	function changeaudio()
	{
		var obj=document.getElementById("audioList").options;
		hwcam.SetAudio(obj.selectedIndex);
	}

	function addoptionaudio(s)
	{
		var obj=document.getElementById("audioList").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt); 		
	}

	function initcutmode()
	{
		addoptioncutmode("不裁切");
		addoptioncutmode("手工裁切");
		addoptioncutmode("自动裁切");

		document.getElementById("cutMode").value = 0;
	}

	function changecutmode()
	{
		var idx = getcurcam();
		var obj=document.getElementById("cutMode").options; 

		if(obj.selectedIndex == 0)
		{
			hwcam.SetMouseMode(idx, 0);
			hwcam.SetAutoCrop(idx, false);
		}
		else if(obj.selectedIndex == 1)
		{
			hwcam.SetMouseMode(idx, 1);
			hwcam.SetAutoCrop(idx, false);
		}
		else if(obj.selectedIndex == 2)
		{
			hwcam.SetMouseMode(idx, 0);
			hwcam.SetAutoCrop(idx, true);
		}
	}
	
	function addoptioncutmode(s)
	{
		var obj=document.getElementById("cutMode").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt); 		
	}	
		
	function addoptionCam(s)   
	{
		var obj=document.getElementById("CamList").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt);   
	}
		
	function deloptionCam()
	{   
		var obj=document.getElementById("CamList").options; 
		while (obj.length > 0)
		{
			obj.options.remove(obj.length - 1);   
		}   
	}



	//开始预览
	function startpreview()
	{
		var idx = getcurcam();
		hwcam.StartPreview(idx);
		enumres();
		initScanSize();
	}
	//停止预览
	function stoppreview()
	{
		var idx = getcurcam();
		hwcam.StopPreview(idx);
	}

	function getdatestr()
	{
		
                  var date = new Date();
                  var seperator1 = "-";
                  var seperator2 = ":";
                  var month = date.getMonth() + 1;
                  var strDate = date.getDate();
                  if (month >= 1 && month <= 9) {
                      month = "0" + month;
                  }
                  if (strDate >= 0 && strDate <= 9) {
                     strDate = "0" + strDate;
                 }
		 var hour = date.getHours();
		 var min = date.getMinutes();
		 var sec = date.getSeconds();
		 if(hour >= 0 && hour <= 9)
 		 {
			hour = "0" + hour;
		 }
		 if(min >= 0 && min <= 9)
		 {
			min = "0" + min;
		 }
		 if(sec >= 0 && sec <= 9)
	         {
			sec = "0" + sec;
		 }
                 var currentdate = date.getFullYear() + month + strDate + hour + min + sec;
                 

		return currentdate.toString();
	}
	//拍照
	function capture()
	{
		var fname = getdatestr();
		var idx = getcurcam();
		hwcam.CaptureImage(idx, "d:\\hw" + fname + ".jpg");
		hwthumb.AddImage("d:\\hw" + fname + ".jpg");
	}
	function changedev()
	{
		var idx = getcurcam();
			
		if(idx == 0)
		{
			hwcam.StopPreview(1);
		}
		else if(idx == 1)
		{
			hwcam.StopPreview(0);
		}  
		hwcam.StartPreview(idx);
			
		enumres();
	}

	function changeres()
	{
		var idx = getcurcam();
		var obj=document.getElementById("resList").options; 
		var x = obj.selectedIndex; 
		hwcam.SetCamResIndex(idx, x);
	}
		
	function enumres()
	{
		var idx = getcurcam();
		deloptionRes();
		var iResIndex = 0;
		if(iResIndex != -1)
		{
			var count = hwcam.GetResCount(idx); 
			for(i = 0;i < count; i++)
			{
				var w = hwcam.GetResWidth(idx, i);
				var h = hwcam.GetResHeight(idx, i);
				var str = w.toString()+"x"+h.toString();
				addoptionRes(str);
			} 
			document.getElementById("resList").value=iResIndex;
		}   
	}
		
	function deloptionRes()
	{   
		var obj=document.getElementById("resList").options; 
		while (obj.length > 0)
		{
			obj.options.remove(obj.length - 1);   
		}   
	}
	function addoptionRes(s)   
	{
		var obj=document.getElementById("resList").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt);   
	}
	
	function hwmark()
	{
		alert(hwcam.GetHWFlag());
	}

	

	function rotleft()
	{
		var idx = getcurcam();
		hwcam.RotateLeft(idx);
	}

	function rotright()
	{
		var idx = getcurcam();
		hwcam.RotateRight(idx);
	}

	function setexposure(obj)
	{
		var idx = getcurcam();
		hwcam.SetExposure(idx, obj.checked, -3);
	}
	


	

	

	

	function initclr()
	{
		addoptionclr("彩色");
		addoptionclr("灰度");
		addoptionclr("黑白");
		addoptionclr("彩色去底色");
		document.getElementById("clrList").value = 0;
	}

	function addoptionclr(s)
	{
		var obj=document.getElementById("clrList").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt); 		
	}

	function changeclr()
	{
		var idx = getcurcam();
		var obj=document.getElementById("clrList").options; 
		if(obj.selectedIndex == 3)
		{
			hwcam.SetDelBack(idx, true);
			hwcam.SetColorMode(idx, 0);
		}
		else
		{
			hwcam.SetDelBack(idx, false);
			hwcam.SetColorMode(idx, obj.selectedIndex);
		}

		
	}


	function initclrspace()
	{
		addoptionclrspace("YUY2");
		addoptionclrspace("MJPG");

		document.getElementById("clrSpace").value = 0;
	}

	function changeclrspace()
	{
		var idx = getcurcam();
		var obj=document.getElementById("clrSpace").options; 

		hwcam.SetClrSpace(idx, obj.selectedIndex);
	}
	
	function addoptionclrspace(s)
	{
		var obj=document.getElementById("clrSpace").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt); 		
	}	
	//拍照
	function capture()
	{
		var fname = getdatestr();
		var idx = getcurcam();
		hwcam.CaptureImage(idx, "d:\\hw" + fname + ".jpg");
		hwthumb.AddImage("d:\\hw" + fname + ".jpg");
		
	}
	
	//图片上传
	function httpupload()
	{
		
		var bb = hwcam.CaptureBase64(idx);//capturebase64(idx);
		console.log(bb);
	
		var idx = getcurcam();	
		
		var aa=hwcam.CaptureBase64(idx);
		var a='data:image/jpeg;base64,'+aa;
	
		var datastr={"image":a}
		
		
		
		$.ajax({
			type:'POST',
			url:'http://da.cj.gov.cn/upload/hanvon/image',
			data:datastr,
			contentType : 'application/x-www-form-urlencoded',
	        dataType:'json',			
			success:function(res){
				if(res.code = 200){
					submitSuccess(res.data, '');//返回给父页面
					parent.layer.closeAll();  									
  				}else{
  					layer.msg(res.msg);
  				}  
				
			}
		})
	    
	}
	function capturebase64()
	{
		var idx = getcurcam();
		alert(hwcam.CaptureBase64(idx));
		var aa=hwcam.CaptureBase64(idx);
		console.log(aa);
	}


	function initScanSize()
	{
		var count = hwcam.GetScanSizeCount();
		for(var i = 0; i < count; i++)
		{
			var s = hwcam.GetScanSizeName(i);
			addoptionscansize(s);
		}
	}

	function changescansize()
	{
		var obj=document.getElementById("scanSize").options;
		hwcam.SetScanSize(obj.selectedIndex);
	}

	function addoptionscansize(s)
	{
		var obj=document.getElementById("scanSize").options; 
		var opt = new Option(s, obj.length ); 
		obj.options.add(opt); 		
	}

	function deletescansize()
	{
		var obj=document.getElementById("scanSize").options;
		hwcam.DeleteScanSize(obj.selectedIndex);
		obj.options.remove(obj.selectedIndex);
	}

	function zoomin()
	{
		var idx = getcurcam();
		hwcam.ZoomIn(idx);
	}

	function zoomout()
	{
		var idx = getcurcam();
		hwcam.ZoomOut(idx);
	}

	
</script>


<BR><br>设备列表:<select id="CamList" style="width: 90px" name="curCam"
										onchange="changedev()"></select>
分辨率:<select id="resList" style="width: 90px" name="curRes"
										onchange="changeres()"></select>
	颜色:<select id="clrList" style="width: 90px" name="curClr"
										onchange="changeclr()"></select>
	裁切方式:<select id="cutMode" style="width: 90px" name="curCut"
										onchange="changecutmode()"></select>
	颜色空间:<select id="clrSpace" style="width: 90px" name="curClrSpace"
										onchange="changeclrspace()"></select>
	拍照尺寸:<select id="scanSize" style="width: 90px" name="curScanSize"
										onchange="changescansize()"></select>
	<input type=button value="删除" onclick="deletescansize()"/>
	麦克风:<select id="audioList" style="width: 90px" name="curAudio"
										onchange="changeaudio()"></select>

<input id="wmbtn" type="checkbox" value="" onclick="setexposure(this)" />自动曝光
<br><br><input type=button value="开始预览" onclick="startpreview()"/>
<input type=button value="停止预览" onclick="stoppreview()"/>
<input type=button value="汉王标识" onclick="hwmark()" style="display:none"/>
<input type=button value="左转" onclick="rotleft()"/>
<input type=button value="右转" onclick="rotright()"/>
<input type="button"   VALUE="身份证读取"   onClick="readidcard()" style="display:none">
<input type=button value="放大" onclick="zoomin()"/>
<input type=button value="缩小" onclick="zoomout()" />
<input type=button value="拍照" onclick="capture()" style="display:none"/>
<input type=button value="拍照base64" onclick="capturebase64()" style="display:none"/>
<input type=button value="图片上传" onclick="httpupload()"/>


</body>
</html>

注:图片上传为base 64 上传
根据项目需求 取不同的控件

发布了4 篇原创文章 · 获赞 4 · 访问量 148

猜你喜欢

转载自blog.csdn.net/weixin_43507846/article/details/103920120