本文主要介绍Flash基础入门浏览器使用网络摄像头Flash启用摄像头并拍照。 希望在具体内容上对学习Flash基础入门有帮助。
大家都喜欢谈论高考,但笔者不想提。 因为笔者的高考不理想,意志消沉。 在那之后,我到上个月为止都沉迷于游戏。 可以说是不学无术。 爆炸性的脾气也跟着来了,时间不多了,但脾气还在。 怎么办,笔者用HBuilder写点什么来灭火。 我休假了,很开心。 我直接访问了以下代码:
html
在浏览器中使用网络摄像头启用摄像头并完成拍摄
varw=320,h=240;
varpos=0,ctx=null,saveCB,image=[];
调试程序
var canvas=document.getelementbyid (cv 20180820 pm 900 );
canvas.set attribute (‘width’,w );
canvas.set attribute (‘height’,h );
varCTX=canvas.getcontext('2d );
var image=CTX.getimage data (0,0,w,h );
var image数据;
functionopen_camer () /打开相机
$'#photo_show'(.hide ); //拍摄区域显示
$'#ing_photo'(.show );
$('#button_photo ' ).hide (; //启动相机,隐藏按钮
$('#take_photo_upload ' ).show (; //照片拍摄按钮显示
}
$ ' #网络摄像头' .网络摄像头(
width:w、
高海拔: h,
mode:'callback ',
swf file : ' js/jscam _ canvas _ only.swf ',
on tick :功能(remain ) {
if(0==remain ) {
$('#status ' ).text (' );
}else{
$('#status ' ).text(remain '秒后拍照);
}
(,
on save :功能(data ) {
varcol=data.split (; )。 );
varimg=image;
for(vari=0; I
vartmp=parseint(col[I];
img.data[pos0]=[tmp16]0xff;
img.data[pos1]=(tmp8)0xff;
img.data[pos 2]=tmp0xff;
img.data[pos 3]=0xff;
pos=4;
}
if(pos=4*w*h ) {
CTX.putimagedata(img,0,0 );
pos=0;
Imagedata=canvas.toDataURL ().substring ) 22;
}
(,
onCapture:function (
网络摄像头. save (;
$.post(addphoto.action ),{
image:canvas.toDataURL (
、函数(msg ) )。
);
(,
调试:功能(类型,字符串) {
控制台. log (type ' : ' string;
(,
onLoad:function (
console.log(‘‘)
varcams=webcam.getCameraList (;
for(variincams ) {
$(body ).append ) )。
' cams[i] '
(); }
}
);
//拍照
functiongetPhoto (
webcam.capture (;
$'#photo_show'(.hide );
$('#ing_photo ' ).hide;
/*想法:
*笔者按照所有数据都是二进制码的原则处理图像
1、在canvas中将图像转换为Base64编码
2、使用Ajax开机自检方式将Base64的编码传递给后台java
3、用java解码Base64,解析的路径是图像上传的路径地址
4、最后保存图片
*/
//上传部分
varuuid=$((#uuid ) ).val );
varurl='AddPhoto.action '
varpars={
‘类型’:1、
“‘uuid‘:uuid、
‘image data’: image data
(;
$.Ajax({ ()
type:'POST ',通过POST方式传输
url:url,
data:pars,
datatype :‘JSON’,
Async :假,
before send :功能(
(,
完成:功能(
(,
错误:功能(xmlhttprequest,textStatus,errorThrown ) {
(,
success :功能(data ) {
(,
cache:false
);
}